MongoDB无法从mongodb查询结果中删除某些字段

时间:2014-05-13 16:06:46

标签: mongodb

我的收藏中有记录,如下所示

{ 
 "_id" : ObjectId("53722c39e4b04a53021cf3c6"), 
 "symbol" : "AIA", 
 "tbq" : 1356, 
 "tsq" : 0, 
 "tquan" : 6831336, 
 "tvol" : 17331.78, 
 "bquantity" : 1356, 
 "squantity" : 0 
}

{ 
 "_id" : ObjectId("53722c38e4b04a53021cf3c1"), 
 "symbol" : "SAA", 
 "tbq" : 0, 
 "tsq" : 9200, 
 "tquan" : 6036143, 
 "tvol" : 50207.43, 
 "bquantity" : 0, 
 "squantity" : 9200 
}

我按照bquantity的升序显示结果,同时我想在结果中只显示某些列(符号,bquantity,squantity),忽略其余的。

我尝试使用以下查询,但仍显示所有字段。

请告诉我如何从结果中消除这些字段?

db.stock.find().sort(
                     {"bquantity":-1}, 
                     { 
                       symbol: 1, 
                       bquantity: 1, 
                       squantity:1 ,
                       _id:0,
                       tbq:0,
                       tsq:0,
                       tquan:0,
                       tvol:0
                      } 
                    )

1 个答案:

答案 0 :(得分:1)

字段过滤器是find函数的参数,而不是排序函数,即:

db.stock.find({}, { _id:0,tbq:0, tsq:0,tquan:0,tvol:0}).sort({"bquantity":-1})

用作find的第一个参数的空哈希是一个“空查询”,它匹配stock中的所有文档。