arc*_*rcs 1 mongoose mongodb node.js
我正在尝试基于将Mongoose对象保存为两个集合的方法,将文档移动到MongoDB中的另一个集合。
在示例中,他展示了如何创建两个新对象。我的目标是将其从一个集合转移到另一个集合。
更具体一点:在文档中,我列出了一些任务,这些任务最终会完成,然后应在该文档中移至另一个数组。但是,我需要能够查询所有未完成的对象,并且应该可以通过两个集合来进行查询。
因此,您必须注册两次架构
let ChangeSchema = new Schema({
title: String,
version: Number
})
mongoose.model('First', ChangeSchema)
mongoose.model('Second', ChangeSchema)
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样交换它们
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
})
Run Code Online (Sandbox Code Playgroud)