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构建了一个不同的同步项目,并改用它