Монго не возвращает документ, даже если он существует - PullRequest
2 голосов
/ 17 марта 2019

поэтому я вошел в оболочку mongo ./mongo и выполнил следующие команды:

>>>use mydb
>>>show collections
myc
myotherc
users

>>>db.myc.find()
{ "_id" : ObjectId("5c8dd1c7b350e73a6bc7cf50"), "name" : "mfirst", "theowner" : ObjectId("5c8d7146bc279c28a6ded7b2"), "mowner" : ObjectId("5c8dcb3a7f1b20386577d4bc"), "created" : ISODate("2019-03-17T04:49:11.194Z"), "__v" : 0 }
{ "_id" : ObjectId("5c8dd4dfb547843bdee5b9bd"), "name" : "mlast", "theowner" : ObjectId("5c8d7146bc279c28a6ded7b2"), "mowner" : ObjectId("5c8dcb3a7f1b20386577d4bc"), "created" : ISODate("2019-03-17T05:02:23.723Z"), "__v" : 0 }

>>>db.myotherc.find()
{ "_id" : ObjectId("5c8dcb3a7f1b20386577d4bc"), "people" : [ ObjectId("5c8d7146bc279c28a6ded7b2") ], "name" : "thename", "owner" : ObjectId("5c8d7146bc279c28a6ded7b2"), "created" : ISODate("2019-03-17T04:21:14.388Z"), "__v" : 0 }

>>>db.myc.find({"mowner._id":"5c8dcb3a7f1b20386577d4bc"})

>>>db.myc.find({"mowner.name":"thename"})

Оба последних запроса ничего не возвращают, хотя я думаю, что у меня правильный синтаксис, и он существует. Есть идеи почему?

Ответы [ 2 ]

2 голосов
/ 18 марта 2019

db.myc.find ()

{"_id": ObjectId ("5c8dd1c7b350e73a6bc7cf50"), "name": "mfirst", "theowner": ObjectId ("5c8d7146bc279c28a6ded7b2"), "mowner": ObjectId ("5c8dcb3a7f1b20386577d4bc"), "создан": ISODate ("2019-03-17T04: 49: 11.194Z"), "__v": 0}

{"_id": ObjectId ("5c8dd4dfb547843bdee5b9bd"), "name": "mlast", "theowner": ObjectId ("5c8d7146bc279c28a6ded7b2"), "mowner": ObjectId ("5c8dcb3a7f1b20386577d4bc"), "создан": ISODate ("2019-03-17T05: 02: 23.723Z"), "__v": 0}

В myc collection, mowner и name оба являются плоскими полями для коллекции. Поэтому вам нужно изменить запрос на: -

db.myc.find({"name":"thename"})
db.myc.find({"mowner": ObjectId("5c8dcb3a7f1b20386577d4bc")})
0 голосов
/ 17 марта 2019

Попробуйте:

db.myc.find({"name":"thename"})
db.myc.find({"mowner": ObjectId("5c8dcb3a7f1b20386577d4bc")})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...