Я использую LoopBack с MongoDB в качестве источника данных, и у меня есть простая модель, определенная как:
{
"name": "restaurant",
"plural": "restaurants",
"base": "PersistedModel",
"idInjection": false,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string",
"required": true
},
"address": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
У меня есть сценарий автоматической миграции в /server/boot
, который создает две простые тестовые данные.
После этого, когда я пытаюсь обновить одну из этих записей с помощью запроса PUT с помощью обозревателя API LoopBack, я получаю предупреждение
WARNING: id property cannot be changed from ... to ... for model:restaurant in 'before save' operation hook
WARNING: id property cannot be changed from ... to ... for model:restaurant in 'loaded' operation hook
и избыточное поле id
(аналогично _id Монгополе) создается в БД.
Мне удалось предотвратить создание избыточного поля id
, задав для idInjection
значение false
и определив другое свойство в определении модели как:
"_id": {
"id": true,
"generated": true
}
Однако япо-прежнему получать предупреждение после выполнения запроса PUT от проводника API LoopBack.
Как правильно определить поле _id
монго в определении модели?
Спасибо.