gpt4 book ai didi

MongoDB获取子文档

转载 作者:IT老高 更新时间:2023-10-28 13:10:36 26 4
gpt4 key购买 nike

我想从 MongoDB 中的文档中检索子文档。我有以下文件:

{
"_id" : "10000",
"password" : "password1",
"name" : "customer1",
"enabled" : true,
"channels" : [
{
"id" : "10000-1",
"name" : "cust1chan1",
"enabled" : true
},
{
"id" : "10000-2",
"name" : "cust1chan2",
"enabled" : true
}
]
}

我想要的结果是:

{
"id" : "10000-1",
"name" : "cust1chan1",
"enabled" : true
}

但是,到目前为止,我能做的最好的事情是使用以下查询:

db.customer.find({"channels.id" : "10000-1"}, {"channels.$" : 1, "_id" : 0})

但这给了我以下结果:

{
"channels" : [
{
"id" : "10000-1",
"name" : "cust1chan1",
"enabled" : true
}
]
}

有谁知道是否可以编写一个查询来给我想要的结果?任何帮助将不胜感激。

最佳答案

您可以使用聚合框架来做到这一点。查询将类似于:

db.customer.aggregate([
{$unwind : "$channels"},
{$match : {"channels.id" : "10000-1"}},
{$project : {_id : 0,
id : "$channels.id",
name : "$channels.name",
enabled : "$channels.enabled"}}
])

关于MongoDB获取子文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21113543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com