我在另一個陣列中尋找一個 id 陣列,問題是如果它至少包含一個“id”,它會回傳結果。驗證應該是它必須具有我傳遞的所有“ID”。
{ subcategories: { $in: [ ObjectId('61729d550e8fe20011cc57d2', ObjectId('61693f589a34340012b1d5d8'), ObjectId('61693f2c9a34340012b1d5b7') )] } }
例子:
subcategories: ["61729d550e8fe20011cc57d2", "61693f2c9a34340012b1d5b7"]-> 這個不應該出現,因為它只包含我正在尋找的 3 個中的 2 個
uj5u.com熱心網友回復:
我想你正在尋找$all。
該檔案說:
在
$all操作者選擇的檔案,其中一個欄位的值是包含所有指定元素的陣列
db.collection.find({
subcategories: {
$all: [
"61729d550e8fe20011cc57d2",
"61693f589a34340012b1d5d8",
"61693f2c9a34340012b1d5b7"
]
}
})
示例在這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/359648.html
標籤:数组 MongoDB mongodb-查询
上一篇:使用索引查詢Mongo陣列
