Trả lời câu hỏi của bạn về cách sử dụng $ne
:
Việc sử dụng $ne
như sau:
"field":{
"$ne": yourValue
}
Trong truy vấn của bạn phải như sau:
"user._id": {
"$ne": req.user.id
}
Ví dụ tại đây
$ne
toán tử sẽ trả về tất cả tài liệu trong đó giá trị trường không khớp với giá trị đã cho.
Như bạn đã làm, để tích lũy trường lồng nhau là cần thiết, hãy sử dụng ký hiệu dấu chấm.
Ngoài ra, để đảm bảo nó hoạt động, nếu lược đồ của bạn xác định _id
dưới dạng ObjectId
có thể là cần thiết để phân tích cú pháp req.user.id
thành ObjectId
.
Nhưng nếu trong lược đồ của bạn là một chuỗi thì sẽ hoạt động.
Vì vậy, hãy thử (không thử nghiệm gì cả):
const injected = {
'user._id': { "$ne": req.user.id }
};