gpt4 book ai didi

mongodb - 如何在 mongoDB 中使用通配符字段?

转载 作者:可可西里 更新时间:2023-11-01 10:01:48 25 4
gpt4 key购买 nike

谁能帮我提取包含“澳大利亚”作为国家/地区的记录,而我们不知道 Mongo 查询中日期映射中的键(日期)。

我的样本数据....

`{
"_id" : ObjectId("5bfbdf1f123ee9f1b2bb82e0"),
"fruit" : "apple",
"datemap" : {
"11/26/2018" : [
{
"_id" : "bbc2bb53-b7fe-43ec-9e88-38efbd69c345",
"country" : "Denmark"
}
],
"11/27/2018" : [
{
"_id" : "bbc2bb53-b7fe-43ec-9e88-38efbd68c345",
"country" : "Norway"
}
],
"11/28/2018" : [
{
"_id" : "bbc2bb54-b7fe-43ec-9e88-38efbd68c345",
"country" : "Australia"
}
]
}
},
{
"_id" : ObjectId("5bfbdf1f123ee9f1b2bb8245"),
"fruit" : "Orange",
"datemap" : {
"11/26/2018" : [
{
"_id" : "bbc2bb53-b7fe-43ec-9e88-38efbd69c345",
"country" : "Brazil"
}
],
"11/29/2018" : [
{
"_id" : "bbc2bb53-b7fe-43ec-9e88-38efbd68c345",
"country" : "England"
}
],
"11/30/2018" : [
{
"_id" : "bbc2bb54-b7fe-43ec-9e88-38efbd68c345",
"country" : "Australia"
}
]
}
}`

提前致谢....

最佳答案

您可以使用 $objectToArray将未知 key 转换为 k v 对,然后放入 $match健康)状况。

有点像

db.collection.aggregate([
{ "$addFields": { "country": { "$objectToArray": "$datemap" } } },
{ "$match": { "country.v.country": "Australia" } },
{ "$project": { "country": 0 }}
])

关于mongodb - 如何在 mongoDB 中使用通配符字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53501507/

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