Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 正在尝试使用聚合管道执行addField,但它不起作用_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 正在尝试使用聚合管道执行addField,但它不起作用

Node.js 正在尝试使用聚合管道执行addField,但它不起作用,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在使用mongoose向集合(每个数据)添加一个字段。它返回零错误,但是,当我检查数据库时,它没有添加任何字段 app.use('/', (res, req) => { mongoose.connection.db.collection('placemodels').aggregate( [ { $addFields: { type: 'place', }, }, ], (err,

我正在使用mongoose向集合(每个数据)添加一个字段。它返回零错误,但是,当我检查数据库时,它没有添加任何字段

app.use('/', (res, req) => {
  mongoose.connection.db.collection('placemodels').aggregate(
    [
      {
        $addFields: {
          type: 'place',
        },
      },
    ],
    (err, e) => {
      console.log(err, 'ahsidufhieuahiu');
      console.log(e);
    }
  );
});
我哪里出错了

编辑


$addFields
管道阶段只会将新字段添加到已获取的文档中,即它不会实际修改数据库中的文档

换句话说,它只是修改输出中的文档


如果要向数据库中的文档实际添加新字段,可以使用
collection.update(..)
$set
-运算符:

`{$set:{type:'place',},`I replace to this,但它仍然没有更改?请显示完整的查询。正如我在回答中所说,您需要使用
。更新(…)
而不是
。聚合()
,然后应用
$set
。阅读我发送给您的链接,这里有一些示例。
 mongoose.connection.db.collection('placemodels').aggregate(
    [
      {
        $set: {
          type: 'place',
        },
      },
    ],
    (err, e) => {
      console.log(err, 'ahsidufhieuahiu');
      console.log(e);
    }
  );