如果 id 等於文件欄位陣列值,則排除 MongoDB 查詢
為此,使用 $not 和 $in。讓我們建立一個包含文件的集合 -
[
{
id: "101",
subjectid: [
"102"
]
},
{
id: "102",
subjectid: [
"102"
]
}
]以下是快照。

使用 find() 方法顯示集合中的所有文件 -
db.collection.find()

這將生成以下輸出 -
[
{
"_id": ObjectId("5a934e000102030405000000"),
"id": "101",
"subjectid": [
"102"
]
},
{
"_id": ObjectId("5a934e000102030405000001"),
"id": "102",
"subjectid": [
"102"
]
}
]以下查詢使用 $expr、$not 和 $in 獲取不匹配欄位陣列值的排除值 -
db.collection.find({
$expr: {
$not:{
$in: [
"$id",
"$subjectid"
]
}
}
})這將生成以下輸出 -
[
{
"_id": ObjectId("5a934e000102030405000000"),
"id": "101",
"subjectid": [
"102"
]
}
]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP