在db.collection.save上使用$ set

时间:2018-08-19 18:46:57

标签: mongodb

当我将文档插入到mongo中时(使用db.collection.save),我试图在文档中添加日期字段和一些用户信息字段。

这是我的代码:

    collection.save(
        {document},
        {
            $set: {
                "document.createdBy": "2",
                "document.updatedBy": "2",
                "document.created": new Date(),
                "document.updated": new Date()
            }
        },
        (err, result) => {
      if (err){
        res.status(500).json({ status: 'something is wrong' })
        //return next(err);
      }else{
        res.status(200).json({ status: 'ok' })
        //return next();
      }
    });

Mongo仅插入文档,如果$ set中的字段不插入任何文档。对我做错了什么主意吗?

1 个答案:

答案 0 :(得分:1)

在mongodb的$set查询中,.save()运算符没有参数

因此,请尝试在查询之前附加对象

document.createdBy = "2",
document.updatedBy = "2",
document.created = new Date(),
document.updated = new Date()

collection.save(document, (err, result) => {
  if (err){
    res.status(500).json({ status: 'something is wrong' })
    //return next(err);
  } else {
    res.status(200).json({ status: 'ok' })
    //return next();
  }
})