Mongoose unshift findAndUpdateById

时间:2015-02-06 07:18:57

标签: node.js mongodb mongoose

如果有, unshift 通过findByIdAndUpdate将一个值放入Mongoose文档的数组中的正确方法是什么?

我试过这个没有给出错误但似乎也没有更新值

Schema.findById(id, function(err, doc){
    console.log(doc.array.length); // => 1
    Schema.findByIdAndUpdate(id, 
        { array: { unshift: { property: 'value' } } }, 
        { upsert: true },
        function(err, doc) { 
            console.log(doc.array.length); // Also => 1
        }
    );
});

$push有效。 $unshift给出了错误

[MongoError: exception: Unknown modifier: $unshift

Docs say to use unshift instead,但不起作用。或者我使用它错了?它不会给出任何错误,只是不更新​​数组..

1 个答案:

答案 0 :(得分:0)

Found out $position运算符与$each一起使用$push来实现相同目标。

{ array: { $push: { property: {$each: ['value'], $position: 0 } } } },