J'interroge mongodb via le code node.js. Mes documents mongo collection (patients Collection) présente la structure suivante: +
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"
}
}
Mon code d'exécution de la requête est présentée ci-dessous:
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);
});
});
Lorsque la demande est exécutée, je reçois l'erreur suivante:
MongoError: unknown operator: $and
Toute aide serait appréciée.
quelle version de Mongo vous utilisez.? –
3.4.5-rc0-4-g4db4a7c selon la valeur de retour db.version() –
Quelqu'un a déjà tenté de vous répondre, Bien que la partie callback soit incorrecte, le problème est que vous devriez faire '.find (query)' et non '.find ({requête})'. C'est une syntaxe ES6 étendue à 'find ({" query ": query})' et vous ne le voulez pas. D'où l'erreur. –