mongoose 中可使用 $push 向子文档数组末尾添加数据,但如果想在数组头部添加数据,好像没有$unshift 方法。但可以利用$each、$postition把数据插入到指定的数组位置。
下面的代码片段是把 comment 插入到 comments 的头部,而不是默认的末尾,即指定 position 为 0:
articleModel.update({
_id: articleId
}, {
"$push": {
comments:{ $each:[comment],$position: 0}
}
}, function (err, docs) {
if (err) return next(err);
res.json(docs);
})