蒙戈.如何检查字段是否为数字

And*_*rei 12 mongodb mongodb-query

如何选择字段为数字的mongodb文档?

该字段内容的一些示例:"2","a","Z",3

Ada*_*ord 32

您可以使用$ type运算符根据字段的BSON类型进行选择,这样可以获得您想要的结果.

因此,例如,要查找所有字符串:

db.collection.find( { field: { $type : 2 } } )
Run Code Online (Sandbox Code Playgroud)

或者,为了找到所有双打(由于默认的Javascript行为,通常是从shell中存储的数字),您将使用:

db.collection.find( { field: { $type : 1 } } )
Run Code Online (Sandbox Code Playgroud)

由于有两种类型的整数(可能),你需要使用这样的东西:

db.collection.find({$or : [{"field" : { $type : 16 }}, {"field" : { $type : 18 }}]})
Run Code Online (Sandbox Code Playgroud)

最后,获取所有数字,整数或双数:

db.collection.find({$or : [{"field" : { $type : 1 }}, {"field" : { $type : 16 }}, {"field" : { $type : 18 }}]})
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以改用别名“数字”:

{ field: {$type:"number"}}
Run Code Online (Sandbox Code Playgroud)