0
componentId와 wfInstanceId id가 일치하면 'fields'배열의 유형, 키 및 값을 업데이트해야합니다.중첩 배열 안의 몽구스 findOneAndUpdate
내가 그렇게해야하는 문서입니다.
{
"_id": {
"$oid": "586b6d756937c22f207dd5af"
},
"wfInstanceId": "0111",
"workflowId": "ash3",
"folderURL": "ash3",
"teamName": "teamName",
"dataStream": [
{
"componentInstanceId": "componentInstanceId1",
"componentId": "componentId1",
"_id": {
"$oid": "586b6d756937c22f207dd5b0"
},
"fields": [
{
"type": "String",
"value": "value1",
"key": "key",
"_id": {
"$oid": "586b6d756937c22f207dd5b1"
}
},
{
"type": "String",
"value": "value2",
"key": "key1",
"_id": {
"$oid": "586b6d756937c22f207dd5b1"
}
}
]
},
{
"componentInstanceId": "componentInstanceId2",
"componentId": "componentId22",
"_id": {
"$oid": "586b6d756937c22f207dd5b0"
},
"fields": [
{
"type": "String",
"value": "value1",
"key": "key",
"_id": {
"$oid": "586b6d756937c22f207dd5b1"
}
},
{
"type": "String",
"value": "value2",
"key": "key2",
"_id": {
"$oid": "586b6d756937c22f207dd5b1"
}
}
]
}
],
"id": "38f356f0-d196-11e6-b0b9-3956ed7f36f0",
"__v": 0
}
나는 이것을 이렇게 시도했는데, 또한 $ push를 통해 $ push를 시도해도 작동하지 않습니다. 그들이이 DOC에서 설명하는 것처럼
Model.findOneAndUpdate({'wfInstanceId': '0111', 'dataStream.componentId': 'componentId1'}, {$push : { 'dataStream.fields.$.key' : 'sdsdds' }}, { upsert: true }, function (err, data) {
if (err) {
reject(err);
console.log('error occured' + err);
}
console.info("succesfully saved");
resolve (data);
});
은 또한 나를 위해 작동하지 않았다되는 업데이트 방법에 대한 작업 shouldbe. 어떤 도움도 내가 직면하고있는이 문제를 극복하기 위해 정말로 높이 평가 될 것입니다.
헤이 샘이 나던 일 :( – d7k
무슨 오류 – Sam
이 Model.save이 doc.save()를 할 몽구스의 기능 – d7k