猫鼬:更新动态生成的集合

时间:2020-04-09 16:10:49

标签: mongodb mongoose mongoose-schema

我们有node.js项目,并使用mongoose进行mongodb操作。

一个夜间作业运行并在数据库中动态创建一个名为“ zonecountaggregate”的新集合。

当来自UI的数据发生某些更改时,我需要更新此集合。

在定义了模型和架构后,我一直都在工作,只是使用下面的代码引用它来保存或更新数据。

const account = await Account.findById(req.params.id);
....
const updatedAccount = await account.save();

我的问题是,如何更新此动态集合? 我先检查集合是否存在该名称,然后检查是否存在,然后根据ID更新某些字段。

我现在正在执行此操作,但看不到结果返回。

const {
  ObjectId
} = require('mongoose').Types;
var mongoose = require('mongoose');
mongoose.connect(process.env.MONGODB_URI);
var connection = mongoose.connection;
var db = mongoose.connection;
mongoose.connect(process.env.MONGODB_URI);

const test =  await db.collection('zonecountaggregate').find({_id: ObjectId("5e8ec95181d6ef6f64b69b2c")});
      console.log(test)

我们正在使用“猫鼬”:“ ^ 5.7.8”

1 个答案:

答案 0 :(得分:0)

这是查找集合后更新猫鼬中任何字段的方式: Model.where({{_id:id})。update({$ set:{title:'words'}})。您必须使用架构设置要更新的字段。欲了解更多信息,请查看官方的猫鼬文档。