0
我是Mongoose的新手,我一直在試圖解決這個問題,但我仍然遇到了麻煩。如何查詢值與父對象和子對象匹配的文檔?
我的文檔對象如下。
"person" : [
{
"title" : "front-end developer",
"skills" : [
{
"name" : "js",
"project" : "1",
},
{
"name" : "CSS",
"project" : "5",
}
]
},
{
"title" : "software engineer",
"skills" : [
{
"name" : "Java",
"project" : "1",
},
{
"name" : "c++",
"project" : "5",
}
]
}
]
我想做到的是去返回person.title
= software engineer
ANDperson.skills.name
= c++
的所有文件。技能c++
必須屬於到software engineer
人對象。因此,當前端開發人員擁有c++
時,返回文檔並不理想。
這是我迄今爲止所嘗試過的。查詢工作正常,但它返回符合條件之一而不是兩者的文檔。
var query = {
_id: { $nin: [userID] },
$and: [
{person: {
$elemMatch: {
name: {$regex: `^${titleName}$`, $options: "i"}
}
}},
{[`person.skills`]: {
$elemMatch: {
name: {$regex: `^${skillName}$`, $options: "i"}
}
}}
]
};
任何幫助將不勝感激。謝謝!
哇非常感謝你@Veeram,我不知道,你可以插入一個elemmatch內點符號!我感謝您的幫助! :) – Raja