查找查询不限制字段

时间:2018-02-21 11:01:26

标签: mongodb

我收到了以下问题:

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}}

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方法(没有变量)。