Truy vấn của bạn có một số vấn đề, hãy thử một vấn đề dưới đây:
db.getCollection("dtc")
.find({
"payload.fields.MDI_CC_DIAG_DTC_LIST": { $exists: true },
"payload.asset": { $exists: true }
})
.count();
Vấn đề:
- .find ()
sẽ nhận hai đối số
.find({...},{...})
cái đầu tiên là bộ lọc (Tất cả bộ lọc chống lại tập hợp đều có ở đây) và cái thứ hai là phép chiếu (Được sử dụng để loại trừ hoặc bao gồm các trường nhất định khỏi tài liệu kết quả). Ở đây bạn đang vượt qua 3 args. Nhưng nói chung khi nói đến node.js Hàm thứ 3 có thể là một hàm gọi lại nhưng nó không liên quan gì đến việc thực thi truy vấn thực tế trên cơ sở dữ liệu. - Không có thứ nào được gọi là
{multi: true}
trên.find()
.multi
sẽ được chuyển dưới dạng tùy chọn thứ 3 / arg tới .update () để cập nhật nhiều tài liệu phù hợp với tiêu chí đã lọc.