用Mongoose将文档移动到另一个集合

我试图将文档移动到MongoDB中的另一个集合基于这种方法将Mongoose对象保存到两个集合 。

在这个例子中,他展示了如何创build两个新的对象。 我的目标是将其从一个集合移到另一个集合。

更具体一点:在文档中,我有一个最终完成的任务列表,然后应该在这个文档内移动到另一个数组。 不过,我需要能够查询所有未完成的,这应该是可能的两个集合。

所以你必须注册Schema两次

let ChangeSchema = new Schema({ title: String, version: Number }) mongoose.model('First', ChangeSchema) mongoose.model('Second', ChangeSchema) 

那么你可以像这样交换

 mongoose.model('First').findOne({ _id: id }, function(err, result) { let swap = new (mongoose.model('Second'))(result) /* you could set a new id swap._id = mongoose.Types.ObjectId() swap.isNew = true */ result.remove() swap.save() // swap is now in a better place })