[英]MongoDB how to query that nested array sub-document doesn't contain a key value
說我有
user1 = user{
id: some_id2
books: [
{
category: sience,
title: book1
},
{
category: art,
title: book2
},
{
category: science,
title: book3
}
]
}
user2 = user{
id: some_id
books: [
{
category: sience,
title: book1
},
{
category: science,
title: book3
}
]
}
現在我想觸發一個查詢,以便我只取回 user2。 類似{'books.category': {$ne: 'art'}}
東西,但這個查詢顯然是錯誤的,因為我讓兩個用戶都回來了。 對此的正確查詢是什么?
對於此查詢,您可以使用$elemMatch
。 $elemMatch 運算符匹配包含數組字段的文檔,其中至少一個元素匹配所有指定的查詢條件。
{"books": {$elemMatch: { "category" : {$ne: "art"}}}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.