使用MongoDb查询获取特定字段
我有一个这样的模式使用MongoDb查询获取特定字段,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我有一个这样的模式 { _id:ObjectId(), ..., translations:[{ value: "English", code:"en" },{ value: "German", code:"de" }] } 所有对象都有代码“en”和“de”的转换,如何获取代码为“en”的所有对象(值、id)?A结果应类似于此: [{ _id:ObjectId(), val
{
_id:ObjectId(),
...,
translations:[{
value: "English",
code:"en"
},{
value: "German",
code:"de"
}]
}
所有对象都有代码“en”和“de”的转换,如何获取代码为“en”的所有对象(值、id)?A结果应类似于此:
[{
_id:ObjectId(),
value:"English"
},....
...]
您可以使用
数组翻译
- 用于选择带有
代码“en”的文档
- 用于在结果中包含或重置字段
db.collection.aggregate(
[
{“$unwind”:“$translations”},
{“$match”:{“translations.code”:“en”},
{“$project”:{“value”:“$translations.value”,“_id”:1}
]
)