当我有两个像这样的MongoDB文件时......
db.test.insert( {"value" : "10123"} ); db.test.insert( {"value" : "160"} );
查询的结果如:
db.test.find({"value" :{$gt : "12"} });
是..
{ "_id" : ObjectId("4c6d1b92304326161b678b89"), "value" : "160" }
很明显,进行了字符串比较,因此不会返回我的第一个值.有没有办法在查询中进行投射?
就像是:
db.test.find({ (int) "value" :{$gt : 12} });
会很好.像这样的查询
db.test.find({"value" :{$gt : 12} }); // without the quotes around "12"
没有回报.
您可以使用以下JavaScript表达式:
db.test.find("this.value > 12")
这使用JavaScript从字符串到数字的自动转换.