2014-04-01 61 views
7

我有一个集合的展示位置,每个记录字段:PLACEMENT_ID,program_id,类别,... 我需要找到什么program_id = 3或5,只有所有的展示位置返回placement_id的列表。MongoDB中如何只查找查询返回的值列表

当我试图此命令:

db.placements.find({program_id:{$in: [3, 5]}}, {placement_id:1, _id:0}) 

我有记录:

{ "placement_id" : 196 } 
{ "placement_id" : 197 } 
{ "placement_id" : 198 } 
... 

有没有什么办法,只是返回:

[196, 197, 198...] 
+0

{196,197,198 ...}不是有效的JSON。 –

回答

13

find()光标会生成JSON文档,无论如何。 但是你可以提取你想要的值。像这样的事情也许:

get_placement_id = function(doc) { return doc.placement_id; } 

db.placements.find({program_id:{$in: [3, 5]}}, {placement_id:1, _id:0}).map(get_placement_id) 

==>

[ 196, 197, 198, ... ] 
+0

你有没有java函数在这里实现map()? – user468587