Как сделать запрос для _id, который не имеет типа ObjectId - PullRequest
0 голосов
/ 25 января 2019

(я новичок в mongo)

Как запросить _id, не относящийся к типу ObjectId?

Я могу восстановить mongodump и могуне получить никаких результатов, основанных на поле идентификатора.Через некоторое время я заметил, что записи в коллекции не соответствуют типу ObjectID.

"_id": "7409a2ab-322e-40f3-b991-c3ebeda78f61",

Если я изменю идентификатор на id:"5c47422231caf0939f3d7cc7", тогда мой запрос будет работать правильно, так как он соответствует типу ObjectID.

Я просто продолжаю получать CastError: Cast to ObjectId failed for value "f7757753-c450-42f9-b0f9-9a617628fcfa" at path "_id" for model "mydb"

Я пробовал запрашивать mydb.findById({ _id: 'f7757753-c450-42f9-b0f9-9a617628fcfa' }) и mydb.findOne({ _id: 'f7757753-c450-42f9-b0f9-9a617628fcfa' } и mydb.findOne({ _id: 'f7757753-c450-42f9-b0f9-9a617628fcfa' }

, также пытался включить приведение ObjectId в мои запросы, например так: { _id: ObjectId("f7757753-c450-42f9-b0f9-9a617628fcfa") }

1 Ответ

0 голосов
/ 26 января 2019

в вашей модели вы говорите, у вас есть Object ID в качестве типа данных ID, верно? Так что это нормально кричать ошибка приведения при использовании этого

7409a2ab-322e-40f3-b991-c3ebeda78f61

как _id. Таким образом, вам нужно изменить модель (на самом деле схему) таким образом, чтобы ваш тип, если идентификатор был строкой, а не идентификатором объекта

{
_id : String,
blah,
blah,
blah,
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...