SyntaxError: неверный идентификатор свойства - MongoDB - PullRequest
1 голос
/ 13 марта 2019

Я из Oracle PLSQL, и я только начал изучать команды MongoDB.

   >db.Employee.find()
   { "_id" : 10, "EmployeeName" : "Smith" }
   { "_id" : 20, "EmployeeName" : "Nandhi" }
   { "_id" : 30, "EmployeeName" : "Rajan" }
   { "_id" : 50, "EmployeeName" : "Raju" }

Мне нужно запросить документы, такие как:

  WHERE EmployeeName = "Smith" OR (EmployeeName = "Rajan" AND _id = 30);

Я написал соответствующий код, как показано ниже:

  db.Employee.find({$or:[{"EmployeeName":"Smith",{"EmployeeName":"Rajan","_id":30}}]})

Сообщение об ошибке

2019-03-13T22: 48: 26.123 + 0530 E QUERY [js] Ошибка синтаксиса: недействительно ID объекта @ (оболочка): 1: 47

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Ваши $or термины должны быть в отдельных объектах:

db.Employee.find({$or:[{"EmployeeName":"Smith"}, {"EmployeeName":"Rajan", "_id":30}]})
0 голосов
/ 13 марта 2019

Брекеты неправильно заключены. Используйте как это

  db.Employee.find({$or:[{"EmployeeName":"Smith"},{"EmployeeName":"Rajan","_id":30}]})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...