我有一个收藏展示位置,每个记录都有字段:placement_id,program_id,category,... 我需要找到program_id = 3或5的所有展示位置,并且只返回placement_id列表。
当我尝试这个命令时:
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 :(得分:16)
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, ... ]