Я могу создать опрос с этим телом:
{
"name":"name of survey",
"description":"description of survet",
"openAt":"2020-02-12T23:00:00.000Z",
"closeAt":"2020-02-18T23:00:00.000Z",
"questions":[..],
}
Сервер извлекает пользователя из jwt и сохраняет его как:
снимок экрана с документом Survey в MongoAtlas (только часть пользователя)
Теперь, если я отредактирую опрос с этим телом:
{
"createdAt":"2020-02-02T16:12:14.082Z",
"_id":"5e36f4e008caf531ce848954",
"name":"new name",
...
"user":{
"createdAt":"2020-02-02T16:12:14.063Z",
"rank":0,"_id":"5e2f534422b6047e23c7f839",
"_id":"5e2f534422b6047e23c7f839",
...
}
}
Мой документ отредактированный и _id тип становится Строковым типом вместо ObjectId
снимок экрана документа Survey в MongoAtlas (только пользовательская часть)
Теперь этот код больше не работает из-за строкового типа (когда _id - ObjectId, он работает)
await this.surveyModel.where('user._id').equals(user._id)
Я использую Angular 8 для интерфейса и Nest . js + Введите Goose для серверной части.
Я не знаю точно, как это исправить, могу ли я создать промежуточное программное обеспечение, которое заменит String _id на ObjectId? Или я должен использовать ObjectId в моем интерфейсе вместо строки? Или я должен использовать строку по умолчанию с типом Goose вместо ObjectId? Тезисы - это 3 решения, которые, я думаю, сработают.