2014-04-01 58 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