我有一个集合"公司"。此集合中的每个对象都有" lastcall" -param。它是一个简单的字符串,包含最后一次调用的UNIX时间。我想找到所有公司,其中lastcall高于 a 且低于 b 。我怎样才能做到这一点?这是我用来访问compaies的代码:
//query to lastcall
collection.find( {'lastcall': a} , function (err, companies) {
companies.each(function (err, company) {
//do something with every object...
});
});
此代码将返回所有' lastcall' = A,但我需要所有A< '最后呼叫' < B.我怎么能这样做?谢谢!
答案 0 :(得分:5)
Advanced Queries的文档中有一个示例,这正是您想要的:
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value
答案 1 :(得分:1)
...条件运算符&lt;,&lt; =,&gt;,&gt; =和!=无法直接使用,因为查询对象格式不支持它,但同样可以使用别名$ lt,$ lte,$ gt,$ gte和$ ne实现。当字段值需要匹配条件时,该值必须包装到单独的对象中。
{"fieldname":{$gte:100}}