我正在尝试从一个 Mongo 集合中读取数据,然后获取所有数据并将其保存到新集合中。我使用相同的架构,但在两个不同的模型中更改集合名称:
用户信息.js:
const mongoose = require('mongoose')
const userSchema = mongoose.Schema({
userID : String,
userName : String
})
let userInfo = mongoose.model('UserInfo', userSchema)
let backUpUserInfo = mongoose.model('BackUpUserInfo', userSchema)
module.exports = {
userInfo : userInfo,
backUpUserInfo : backUpUserInfo
}
我将数据插入到 userinfos 集合中,然后我试图读取它并插入到 backupuserinfos 集合中:
备份.js:
const UserInfo = require('../Schema/UserInfo').userInfo;
const BackUpUserInfo = require('../Schema/UserInfo').backUpUserInfo;
async function backUp(){
UserInfo.find({}, async function(err1, userInfo){
if (err1) return console.log(err1)
for(let i in userInfo){
try{
let backUpUser = new BackUpUserInfo(userInfo[i])
await backUpUser.save(function (err2, user) {
if (err2) return console.error(err2)
console.log("collection updated")
})
}
catch(err){
console.log(err)
}
}
})
}
我收到一个错误,似乎表明它在尝试保存信息时发现了重复项,即使备份集合为空。这让我觉得它正在尝试写入用户信息集合而不是备份。我创建了备份模型变量,这就是我运行保存的内容,这让我认为应该指定它运行到该集合。我在这里做错了吗?
这是错误:
VersionError:没有找到与 id 匹配的文档