我正在研究 Mongo 并试用它的功能。我有一个集合,其中包含带有姓名和年龄的文件。年龄通常是一个数字,但有时也可以是一个字符串,例如:
{
name: "example",
age: 20
}
{
name: "exampleTwo",
age: "Not informed"
}
{
name: "exampleThree",
age: 21
}
我知道我可以而且可能应该为不知情的年龄插入默认数字,例如 -1 或 0,但我正在尝试和测试 mongo 功能。在这种情况下,同一集合中有不同类型的文档。
所以我想进行一个查询,返回所有年龄类型为数字的文档。对于这个具体示例,我知道我可以使用查询:
db.example.find({age: { $ne: "Not Informed" }})
但我想知道是否有可能进行一个不那么具体的查询,如前所述,一个返回所有年龄为数字的文档的查询?检查值的类型而不是值本身?
最佳答案
因此,这总是有效的:
db.example.find( { age : { $type : 16 } } )
这从 Mongo 3.2 开始有效:
db.example.find( { age : { $type : 'int' } } )
关于mongodb - 返回所有 int 类型的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39532149/