Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MongoDb查询获取特定字段_Mongodb_Aggregation Framework - Fatal编程技术网

使用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}
]
)