gpt4 book ai didi

mongodb - 在 MongoDB 数组的相同元素中查找 2 个或更多条件

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

我有一个 json 数据结构如下:

 "_id" : {
Inst_Id: 1119689706
},
"items" : [
{
"Token" : "Let",
"Lemma" : "let",
"POS" : "VERB"
},
{
"Token" : "'s",
"Lemma" : "-PRON-",
"POS" : "PRON"
},
{
"Token" : "face",
"Lemma" : "face",
"POS" : "VERB"
},
{
"Token" : "it",
"Lemma" : "-PRON-",
"POS" : "PRON",
}
]

我的项目基本上是具有句子标记数组的字段(例如“让我们在里面面对它。”)我如何在数组的同一项目中搜索 2 个或更多条件?我试过 $elemMatch 但它只匹配跨数组而不是在一个数组内的元素。例如,我想查找标记为“face”且 POS 同时为“VERB”的句子。

最佳答案

$elemMatch 是这样的:

db['01'].find(
{items:{$elemMatch:{Token:"face",POS:"VERB"}}}
)

将返回整个文档。要仅返回匹配的数组元素,请将其添加到查询的投影部分:

db['01'].find(
{items:{$elemMatch:{Token:"face",POS:"VERB"}}},
{items:{$elemMatch:{Token:"face",POS:"VERB"}}}
)

会回来

    { 
"_id" : {
"Inst_Id" : 1119689706.0
},
"items" : [
{
"Token" : "face",
"Lemma" : "face",
"POS" : "VERB"
}
]
}

关于mongodb - 在 MongoDB 数组的相同元素中查找 2 个或更多条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51374217/

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