如何检查对象内部的数组是否包含元素 mongoDB
How to check if array that inside an object contains element mongoDB
嗨,我有这份文件:
{
"_id" : ObjectId("62792b4a0c9c5a00b6a8e17b"),
"username" : "user_1",
"words" : [
{
"word" : "RATIONAL",
"subwords" : [
"RAT",
"TAN"
]
},
{
"word" : "YOUNGER",
"subwords" : [
"YOU",
"YOUR"
]
}
]
}
我想查找具有特定 word
的文档,例如“RATIONAL”,并且他的 subwords
数组包含一个元素。
例如我想检查是否有一个文件有:
用户名:user_1
在他的 words
数组中,他包含 word
:"RATIONAL"
并且他的 subwords
数组包含 word
“RAT”
类似的东西:
db.users.find({username:"user_1","words":{word:"RATIONAL",subword:"RAT"}}).pretty();
谢谢大家:)
这应该适合你:
db.users.find({"username": "user_1", "words.word": "RATIONAL", "words.subwords": "RAT"})
您还可以使用 $elemMatch
运算符:
db.users.find({"username": "user_1", "words": { "$elemMatch": { "word": "RATIONAL", "subwords": "RAT" } }})
嗨,我有这份文件:
{
"_id" : ObjectId("62792b4a0c9c5a00b6a8e17b"),
"username" : "user_1",
"words" : [
{
"word" : "RATIONAL",
"subwords" : [
"RAT",
"TAN"
]
},
{
"word" : "YOUNGER",
"subwords" : [
"YOU",
"YOUR"
]
}
]
}
我想查找具有特定 word
的文档,例如“RATIONAL”,并且他的 subwords
数组包含一个元素。
例如我想检查是否有一个文件有:
用户名:user_1
在他的 words
数组中,他包含 word
:"RATIONAL"
并且他的 subwords
数组包含 word
“RAT”
类似的东西:
db.users.find({username:"user_1","words":{word:"RATIONAL",subword:"RAT"}}).pretty();
谢谢大家:)
这应该适合你:
db.users.find({"username": "user_1", "words.word": "RATIONAL", "words.subwords": "RAT"})
您还可以使用 $elemMatch
运算符:
db.users.find({"username": "user_1", "words": { "$elemMatch": { "word": "RATIONAL", "subwords": "RAT" } }})