Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Khớp document MongoDB với trường không chứa giá trị trong mảng

Sử dụng toán tử $nin (not in) để tìm document mà trường mảng không chứa bất kỳ giá trị nào trong danh sách cho trước. Tạo collection:

> db.demo180.insertOne({ "Scores": ["80", "90", "110"] });
{ "acknowledged": true, "insertedId": ObjectId("5e3988a69e4f06af551997fb") }
> db.demo180.insertOne({ "Scores": ["110", "70", "60"] });
{ "acknowledged": true, "insertedId": ObjectId("5e3988b79e4f06af551997fc") }
> db.demo180.insertOne({ "Scores": ["40", "70", "1010"] });
{ "acknowledged": true, "insertedId": ObjectId("5e3988cc9e4f06af551997fd") }

Hiển thị document.

Truy vấn aggregate $match với $nin (loại trừ 110 và 90):

> db.demo180.aggregate({
  "$match": { "Scores": { "$nin": ["110", "90"] } }
}).pretty();

Kết quả (chỉ document 3 không chứa 110 và 90):

{
  "_id": ObjectId("5e3988cc9e4f06af551997fd"),
  "Scores": [ "40", "70", "1010" ]
}