更新对象
问题描述:
我有对象的数组这样的对象:更新对象
//restMenuType({_id: 'abcde', hasItems: [{itemId: 'a', sortId: 1}, {itemId: 'b', sortId: 2}]})
我想,以取代这两个对象的sortId键:
'replaceItemsPositionUp': function(typeId, prevId, curId, prevSortId, curSortId){
RestMenuTypes.update({
_id: typeId,
hasItems: {$elemMatch: {itemId: curId}}},
{$set: {'hasItems.sortId': prevSortId}}
);
RestMenuTypes.update({
_id: typeId,
hasItems: {$elemMatch: {itemId: prevId}}},
{$set: {'hasItems.sortId': curSortId}}
);
}
是什么你正确的方式来做到这一点? 谢谢。
答
这是做到这一点的方式: 这里找到它: Update field in exact element array in MongoDB
RestMenuTypes.update({
_id: typeId,
'hasItems.itemId': curId},
{$set: { "hasItems.$.sortId": prevSortId}}
);
return RestMenuTypes.update({
_id: typeId,
'hasItems.itemId': prevId},
{$set: {'hasItems.$.sortId': curSortId}}
);
它看起来不错,有什么问题在这里? –
我得到一个通用的错误500. –
你可以给我的输入和文件? –