3

我有一个集合“公司”。此集合中的每个对象都有“lastcall”-param。它是一个简单的字符串,包含上次调用的 UNIX 时间。我想找到所有 lastcall 高于a且低于b的公司。我怎样才能做到这一点?这是我用来访问公司的代码:

//query to lastcall
collection.find( {'lastcall': a} , function (err, companies) {
    companies.each(function (err, company) {
        //do something with every object...
    });
});

此代码将返回'lastcall' = A 的所有公司,但我需要所有A <'lastcall' < B 的公司。我该怎么做?谢谢!

4

2 回答 2

8

高级查询的文档中有一个示例正是您想要的:

db.collection.find({ "field" : { $gt: value1, $lt: value2 } } );    // value1 < field < value
于 2012-06-17T06:46:11.170 回答
3

...条件运算符 <、<=、>、>= 和 != 不能直接使用,因为查询对象格式不支持它,但同样可以使用它们的别名 $lt、$lte、$ gt、$gte 和 $ne。当字段值需要匹配条件时,必须将该值包装到单独的对象中。

{"fieldname":{$gte:100}}
于 2012-06-17T06:46:00.553 回答