2016-11-02 5 views
0

Я пытаюсь обновить вложенные объекты с помощью Mongoose. Но когда я получаю запрос, он выглядит следующим образом:Обновление вложенных объектов с помощью Mongoose

{ 
'example[apple]': 'false', 
'example[pear]': 'false', 
'example[banana]': 'false', 
'example[orange]': 'false', 
} 

Моя модель выглядит следующим образом:

email: { 
    type: String, 
    index:true, 
    unique: true, 
}, 
example: { 
    apple: {type:Boolean, default: true}, 
    banana: {type:Boolean, default: true}, 
    pear: {type:Boolean, default: true}, 
    orange: {type:Boolean, default: true} 
} 

И объект Посылаю выглядит следующим образом:

var formData = { 
    example: { 
    apple: false, 
    banana: false, 
    pear: false, 
    orange: false 
    } 
} 

Что я делаю неправильно?

+0

, который создает и отправляя запрос? это ты. Структура вашего запроса и модель мангуста не согласованы друг с другом. –

+0

@satishchennupati Я генерирую и отправляю запрос. Как должна соответствовать модель? – dmonaldo

ответ

1

Прежде всего, орган запроса { 'example[apple]': 'false', 'example[pear]': 'false', 'example[banana]': 'false', 'example[orange]': 'false', } - это объект JSON, к которому вы можете обратиться: example.apple и т. Д.
exampleObject должен быть первым объектом JSON. Из вашей модели, кажется, пример является атрибут модели так, чтобы обновить вы должны варианты:
1 Является ли обновить все документы, не предоставляя идентификатор документа:
yourmodel.findAndUpdate({no thing here},exampleObject,callBack)
2-ли обновлять по состояние, предпочтительное: yourmodel.findAndUpdate(condition,exampleObject,callBack)
условие может быть = {_id:an id}

Смежные вопросы