在MongoDB中使用聚合选择文档的两个或多个字段
我开始与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
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在中创建了一个主题: