gpt4 book ai didi

java - 我想使用 MongoDB java api 从 mongodb 文档中的数组中获取特定的数组元素记录

转载 作者:行者123 更新时间:2023-12-01 12:04:04 25 4
gpt4 key购买 nike

我有一个包含多个数组元素的文档。我想从数组中找到一些特定的值。

{
"_id" : ObjectId("54a67aa569f2bc6a5865f220"),
"language" : "us_english",
"country" : "united states",
"state" : "texas",
"words" : [
{

"handle" : "gm",
"replacement" : "good morning",

},
{

"handle" : "ilu",
"replacement" : "i love you",

}
]
}

我想找到 replacement 的值哪里handle is gmlanguage is english , country is united statesstate is texas .

我尝试了很多解决方案,但无法从文档中找到具体的值。

有什么解决办法吗?

最佳答案

您可以使用聚合操作。

  • $match过滤文档
  • $unwind解构 words 字段
  • 重复使用$match来查找replacement字段的值

    db.collection.aggregate([{$match : {language : 'us_english', country: 'united states', state: 'texas'}}, {$unwind: '$words'}, {$match: {"words.handle" : "gm"}}])

    { "_id" : ObjectId("54a67aa569f2bc6a5865f220"), "language" : "us_english", "country" : "united states", "state" : "texas", "words" : { "handle" : "gm", "replacement" : "good morning" } }

关于java - 我想使用 MongoDB java api 从 mongodb 文档中的数组中获取特定的数组元素记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781902/

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