Вставьте новый объект в поле массива поддокументов в mongoose

[{
    "_id" : ObjectId("579de5ad16944ccc24d5f4f1"),
    "dots" : 
    [
        {
            "id" : 1,
            "location" : 
            [
                 {
                    "lx" : 10,
                    "ly" : 10
                 }
            ]
        },
        {
            "id" : 2,
            "location" : [{}]
        }
    ]
}]

Выше приведен формат модели json (из mongobooter), скажем, «линии», и у меня есть _id и dots.id, и я хочу добавить новый объект в локацию. тогда как я могу это сделать (используя мангуста)?

 ASD04 авг. 2016 г., 04:52
"местоположение" с объектом в массиве точек .....
 devonj04 авг. 2016 г., 00:38
в каком месте? массив точек?

Ответы на вопрос(1)

Решение Вопроса

Вы можете выбрать между:

Монгозный объект-путь:

document.dots[0].location.push({ /* your subdoc*/ });
document.save(callback);

Mongo / Mongoose Query (используя$push а также$ оператор):

YourModel.update(
  {_id: /* doc id */, 'dots.id': /* subdoc id */ },
  {$push: {'dots.$.location': { /* your subdoc */ }},
  callback
);
 user179030001 мар. 2018 г., 17:10
Какой из них обеспечивает лучшую производительность?

Ваш ответ на вопрос