我收到了以下问题:
query =
{
application: application,
creationTime:{
$gte: start_date.valueOf(),
$lte: end_date.valueOf()
}
},
{
application: 1,
creationTime: 1,
buildSystem: 1,
_id:1
}
var ut_data = db.my_collection.find(query).sort({ _id: -1 }).forEach(function(doc) {print(doc.testStatus)})
我希望将结果中的字段限制为application,creationTime和buildSystem,以便不加载与条件匹配的整个文档。
一旦我打印testStatus,它似乎也可用,而且所有字段都可用。如何限制结果中的字段?
(我也尝试过:Limit Field in Mongodb find() query not working
中建议的{fields:{application: 1, creationTime: 1, buildSystem: 1, _id: 1}}
)
答案 0 :(得分:0)
我错误地传递了查询的两个参数,所以第二部分没有考虑,我修复了这样:
query =
[{
application: application,
creationTime:{
$gte: start_date.valueOf(),
$lte: end_date.valueOf()
}
},
{
_id: 1,
application: 1,
creationTime: 1,
buildSystem: 1,
}]
然后,分别传递每个参数:
db.my_collection.find(query[0], query[1]).sort({ _id: -1 }).forEach(function(doc) {print(doc.testStatus)})
或者只是将查询直接传递给find方法(没有变量)。