当我有两个MongoDB的文件,像这样...是否可以投入MongoDB-Query?
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"
什么也没有返回。
是否有你存储整数为字符串理由吗? db.test.insert({“value”:10123})不会更好。 – 2010-08-19 12:22:22
当然,这是真的..在我的应用程序中,我收集formvalues并将它们传递给Mongo。 POST和GET值默认是字符串类型的。我怀疑司机会照顾型号转换。不幸的是,情况并非如此。所以你是对的,我在插入前转换数据。 此外,@niels提出了一个很好的观点...使用javascript表达式实际上解决了这个问题。 – rgroli 2010-08-19 15:07:51