簡體   English   中英

MongoDB如何查詢嵌套數組子文檔不包含鍵值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM