Node.js MongoDB bulkWrite updateOne销毁文档属性类型
这是我的代码:Node.js MongoDB bulkWrite updateOne销毁文档属性类型,node.js,mongodb,types,bulkinsert,insert-update,Node.js,Mongodb,Types,Bulkinsert,Insert Update,这是我的代码: if (Type.isArray(docs) && docs.length > 0) { promises.push( new Promise(function promise(resolve, reject) { that.model.collection.bulkWrite( docs.map(item =>
if (Type.isArray(docs) && docs.length > 0) {
promises.push(
new Promise(function promise(resolve, reject) {
that.model.collection.bulkWrite(
docs.map(item => {
that.modify(item);
return {
updateOne: {
filter: {
id: item.id
},
update: item,
upsert: true
},
}
}),
(err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
}
)
})
)
}
基本上我会得到一个大的项目数组,如果它们存在于数据库中,我会更新它们,如果它们不存在,我会创建它们。顺便说一句,我在NodeJS中做这些,如果代码不明显的话:D
问题是,在我以前的实现中,我的mongo文档有不同的属性类型,如Int32、String、Date、Boolean等等!但使用bulkWrite时,它们都会以某种方式转换为字符串,除了布尔类型的布尔型
此外,我第一次执行新的实现时,它不会添加更新现有项,而是复制它们,因为“id”不是,例如2456int32,而是它的“2456”字符串
谷歌没有结果,或者我没有输入正确的搜索文本
谢谢你的帮助 这方面有什么更新吗?遗憾的是没有,我们用Java构建了一个不同的同步项目,并改用它