Jenninha
Jenninha

Reputation: 1377

MongoDB - How to select only numeric strings / Check whether string is numeric in mongo-shell

I have a collection where the fields are string but those strings can have a numeric value inside e.g.:

myObject: {
examples: [
         {example: "words", ...},
         {example: "more words", ...},
         {example: "111", ...},
         {example: "4502", ...}
         ...
         ]
...
}

How can I query "111" and "4502" and any other numeric values in string format?

Upvotes: 5

Views: 8644

Answers (1)

JohnnyHK
JohnnyHK

Reputation: 312159

You can use a regular expression in your query object to do that:

// Select docs where at least one examples element contains an example value
// that's made up only of digits.
db.test.find({'examples.example': /^\d+$/})

Upvotes: 18

Related Questions