Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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,我开始与MongoDB合作,我有一个关于聚合的问题。我有一个文档,它以不同的顺序使用了很多不同的字段。例如: db.my_collection.insert({ "answers" : [ { "id" : "0", "type" : "text", "value" : "A"}, { "id" : "1", "type" : "text", "value" : "B"}]}) db.my_collection.insert({ "answers" : [ { "id" : "0", "ty

我开始与MongoDB合作,我有一个关于聚合的问题。我有一个文档,它以不同的顺序使用了很多不同的字段。例如:

db.my_collection.insert({ "answers" : [ { "id" : "0", "type" : "text", "value" : "A"}, { "id" : "1", "type" : "text", "value" : "B"}]})


db.my_collection.insert({ "answers" : [ { "id" : "0", "type" : "text", "value" : "C"}, { "id" : "1", "type" : "text", "value" : "A"}]})
我希望使用“answers.id”和“answers.value”执行一个查询以获得结果

我尝试了,但没有得到结果,在我的情况下,我执行了以下命令:

db.my_collection.aggregate({$match: {"answers.id":"0", "answers.value": "A"}})
结果是我只期望得到两个回答:

{ "answers" : [ { "id" : "0", "type" : "text", "value" : "A"}, { "id" : "1", "type" : "text", "value" : "B"}]
谢谢你

您需要使用运算符将
answers
数组的单个元素与指定的“id”和“value”匹配

像这样的方法应该会奏效:

db.my_collection.aggregate({
“$match”:{
“答案”{
“$elemMatch”:{
“id”:“0”,
“值”:“A”
}
}
} 
} )
您需要使用运算符将
answers
数组的单个元素与指定的“id”和“value”匹配

像这样的方法应该会奏效:

db.my_collection.aggregate({
“$match”:{
“答案”{
“$elemMatch”:{
“id”:“0”,
“值”:“A”
}
}
} 
} )

谢谢,如果我想像我一样对字符串排序,你保存了我的皮肤?我试图遵循他的模型,但他说这是错误的,我尝试了以下方法:db.my_collection.aggregate({$sort:{“answers”:{$elemMatch:{id:0,value:-1}}}})我想以递减的方式对id=0排序。ThanksI在中创建了一个主题:谢谢,你保存了我的皮肤如果我想像我一样对字符串排序?我试图遵循他的模型,但他说这是错误的,我尝试了以下方法:db.my_collection.aggregate({$sort:{“answers”:{$elemMatch:{id:0,value:-1}}}})我想以递减的方式对id=0排序。ThanksI在中创建了一个主题: