0

i have a trouble with newly installed mongodb server.

Have a collection:

{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc03"), "inn" : NumberLong("7804270433") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc04"), "inn" : NumberLong("3808047630") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc05"), "inn" : NumberLong("7839399540") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc06"), "inn" : NumberLong("7810259766") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc07"), "inn" : NumberLong("7802487790") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc08"), "inn" : NumberLong("7709466108") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc09"), "inn" : NumberLong("7715232595") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc0a"), "inn" : NumberLong("7812014560") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc0b"), "inn" : NumberLong("7726637635") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc0c"), "inn" : NumberLong("5042010200") }
{ "_id" : ObjectId("5d9583afe2f1dccccdb3bc0d"), "inn" : NumberLong("6454066437") }

But

db.inn.find({"inn" : /^781/}) not working
db.inn.find({"inn" : /781/ }) not working
db.inn.find({"inn" : {$regex: "^781" }}) even not working

Always 0 documents found..

What i'm doing wrong? thanks!

LimpTeaM
  • 31
  • 8

1 Answers1

3

Mongo doesn't support regex on number https://jira.mongodb.org/browse/SERVER-1174

You need to convert number to string then regex in $regex as

db.inn.find({
  "$expr": {
    "$regexMatch": {
      "input": {
        "$toString": "$inn"
      },
      "regex": "781"
    }
  }
})
sushant mehta
  • 1,244
  • 1
  • 7
  • 13