gpt4 book ai didi

javascript - 如何使用 node.js 将 _bsontype objectID 值转换为 string/objectID 以插入到 mongoDB 中

转载 作者:太空宇宙 更新时间:2023-11-04 01:28:04 26 4
gpt4 key购买 nike

我有一个 JSON 文件,其中包含如下所示的对象。

{
userID: {"_bsontype":"ObjectID","id":{"0":92,"1":237,"2":216,"3":42,"4":254,"5":178,"6":68,"7":182,"8":208,"9":254,"10":51,"11":64}},
userName: "abc"
}

注意:还有一些嵌套字段,例如 userID。

尝试使用批量插入导入到 MongoDB 时出现错误

UnhandledPromiseRejectionWarning: Error: object [{"_bsontype":"ObjectID","id":{"0":92,"1":237,"2":216,"3":42,"4":254,"5":178,"6":68,"7":182,"8":208,"9":254,"10":51,"11":64}}] is not a valid ObjectId

如何将 userID 转换为 objectID/字符串?例如 ObjectId("5d1de1bab90f8bf15f58df3f")"5d1de1bab90f8bf15f58df3f"

数据库中的预期输出:

{
userID: ObjectId("5d1de1bab90f8bf15f58df3f"),
userName: "abc"
}

{
userID: "5d1de1bab90f8bf15f58df3f",
userName: "abc"
}

最佳答案

谢谢罗达姆,

你让我走上了正轨。只是为了它。这是我的效用函数。冗长但有效。

const { ObjectID } = require( 'mongodb' )

toObjectID: function ( object ) {
let hexString = ''
Object.values(object.id).forEach(elem =>{
const result = elem.toString(16)
if(result.length === 2) {
hexString += result
} else {
hexString += "0" + result
}
})
const id = new ObjectID(hexString)
return id
}

关于javascript - 如何使用 node.js 将 _bsontype objectID 值转换为 string/objectID 以插入到 mongoDB 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com