我正在通過node.js代碼查詢mongodb。 我蒙戈文檔採集患者(集合)的結構如下:+
Patient collection
{
"_id" : ObjectId("59e5c28f37ce021e142e7ead"),
"MRN" : "00126389",
"Family_Name" : "Jones",
"First_Name" : "Lydia",
"Father_Name" : "Bob",
"Maiden_Name" : "",
"Mother_Name" : "n/a",
"Spouse_Name" : "",
"Address" : "",
"Telephone_Nbr" : "",
"Patient_Visit" : {
"Department" : "ER",
"Hospital_Status" : "Active",
"Case_Nbr" : "17",
"Admission_Date" : "01/04/2011 12:00:00 AM",
"Admission_Time" : "14:02"
}
}
我的查詢執行代碼介紹如下:
mongoClient.connect(mongoConstr, function(err, db) {
if (err) throw err;
var query = {
$and: [{
"Patient_Visit.Department": "ER"
}, {
$or: [{
"Patient_Visit.Hospital_Status": "Active Left"
}, {
"Patient_Visit.Hospital_Status": "Active"
}]
}]
};
var cursor = db.collection("tbl_Patients").find({
query
});
cursor.forEach(function(doc) {
console.log(JSON.stringify(doc));
}, function(err) {
db.close();
throw (err);
});
});
當請求被執行我收到以下錯誤:
MongoError: unknown operator: $and
任何幫助,將不勝感激。
您正在使用哪個版本的Mongo? –
3.4.5-rc0-4-g4db4a7c根據db.version()返回值 –
有人已經試圖回答你,儘管回調部分錯了,問題是你應該做'.find(query)'而不是'.find({query})'。這是一個擴展到'find({「query」:query})'的ES6語法',你不需要它。因此錯誤。 –