Я пытался вставить имя в свой массив "data_stream_map" схемы, найдя два параметра,
Следующее,
var query = {
'_id': new ObjectId("594261a0ea2d89001c851424"),
'inputs.name': "name1"
};
return WFWorkflowModel.findOneAndUpdate(query, {$addToSet: {'inputs.$.data_stream_map': "121_name1"}}).then(function (result) {
return true;
}, function (error) {
console.error("WFEditor micro service - update dataStream.");
return error;
});
Ничто в Интернете не работало со мной. Но когда дело доходит до Robomongo 0.9.0, это работает,
db.getCollection('wfcomponents').findOneAndUpdate({
_id: ObjectId("594261a0ea2d89001c851424"),
'inputs.name': "name1"
}, {$addToSet: {'inputs.$.data_stream_map': "120_name1"}})
Документ мангуста следующим образом,
{
"_id" : ObjectId("594261a0ea2d89001c851424"),
"key" : "task",
"description" : "",
"__v" : 0,
"updated" : ISODate("2017-06-12T07:08:58.462Z"),
"created" : ISODate("2017-06-12T07:08:44.079Z"),
"gridLocation" : {
"y" : 1,
"x" : 7
},
"inputs" : [
{
"name" : "name1",
"data_stream_map" : [
]
}
]
}
Используемая версия мангуста - "mongoose": "^ 4.6.5", я не знаю, может ли кто-нибудь помочь мне преодолеть эту проблему? Я реферировал множество вопросов, но все еще не решил.
Model.findOneAndUpdate(query,update,{new:true}).exec(function(err,docs){
console.log(docs)
})
//your code is correct , just lost the options{new:true},which will return the updated doc but not the found doc
1.) обновить Robomongo до 1.0, у него есть обновления в системе, которые необходимы. 2.) ознакомьтесь с этой ссылкой, которую я предоставил. Не уверен, что ваш вопрос является дубликатом, но у этого есть хорошие ответы, и я думаю, что это относится к вашей проблеме, и быстрый совет, который вы не можете обновить в mongodb, вам нужно удалить и создать снова (объяснено в предоставленной ссылке). Надеюсь, я правильно прочитал вопрос, удачи.
PS Если вы просто пытаетесь запросить ввод данных, убедитесь, что ваши файлы правильно связаны, т.е. Вам требуются все ваши модули. Если у вас есть этот набор, mongoose использует find, findOne, findById, где. Ссылки предоставляются. Опять надеюсь, что он правильно ответит на вопрос, не уверен, чего вы пытаетесь достичь.
Как обновить _id одного документа MongoDB?