Tôi đang cố chọn tài liệu KHÔNG chứa giá trị trong mảng của tài liệu.
Tôi đang gặp hai vấn đề, mà tôi sẽ trình bày riêng rẽ:
(1) Tôi không thể có được các nhà điều hành $ không làm việc với một truy vấn giá trị trong mảng: Ví dụ, nếu tôi có các tài liệu sau đây trong bộ sưu tập của tôi:
{ _id: ObjectId("000000000000000000000000"), mylist: [ "red", "green", "blue" ] }
tôi có thể chọn tài liệu này sử dụng:
db.myCol.find({mylist:"red"})
Tuy nhiên, tôi muốn chọn tài liệu này bằng cách kiểm tra cho sự vắng mặt của cam:
db.myCol.find({$not:{mylist:"orange"}})
Tại sao điều này không làm việc?
(2) Tôi không thể nhận được giá trị trong truy vấn mảng để làm việc nếu các giá trị mảng là ObjectIds:
{ _id: Object("000000000000000000000000"), mylist: [ ObjectId("111111111111111111111111") ] }
Sau đây KHÔNG lấy tài liệu này:
myCol.find({mylist:ObjectId("111111111111111111111111")})
Ai đó có thể đề xuất những gì tôi có thể làm sai?
Không hoàn toàn đúng, có một [$ không] (http://docs.mongodb.org/manual/reference/operator/not /) – nullabletype
@nullabletype: Có phải '$ không phải là thứ gì đó mới mẻ hay tôi chỉ bỏ qua nó? Cảm ơn những người đứng đầu trong mọi trường hợp. –