我可以在 mongodb 的 NodeJS 驱动程序中手动指定 BSON 类型吗?如果我使用“$numberLong”,我会收到错误消息
I can I manually specify BSON type in mongodb's NodeJS Driver? I am getting error if I use "$numberLong"
这就是我在将文档对象插入集合之前构建文档对象的方式
function newTupple(name, email){
return {
email:email,
name:name,
account_status:{
email_verified:{ //I want this in Int64
"$numberLong": `${Date.now()}`
},
activated:false
}
}
}
那我插进去就好了
const new_doc = newTupple("Ninja", "jojo@something.com")
collection.insertOne(new_doc, (err, result)=>{
if(err){
//err: returns " key $numberLong must not start with '$' "
}
}
我正在使用 npm 包 mongodb@3.6.0
我做错了什么?或者自定义数据类型不适用于 JS?
........................................
更新
........................................
完整错误日志
Error: key $numberLong must not start with '$'
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:915:19)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:941:17)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:941:17)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:727:17)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:941:17)
at BSON.serialize (--------------\node_modules\bson\lib\bson\bson.js:64:28)
您使用的扩展 json 语法不适合在应用程序中构建对象图。相反,您应该构建适当类型的对象。
例如,请参阅 here 的长示例。
const BSON = require('bson');
const Long = BSON.Long;
const doc = { long: Long.fromNumber(100) };
这就是我在将文档对象插入集合之前构建文档对象的方式
function newTupple(name, email){
return {
email:email,
name:name,
account_status:{
email_verified:{ //I want this in Int64
"$numberLong": `${Date.now()}`
},
activated:false
}
}
}
那我插进去就好了
const new_doc = newTupple("Ninja", "jojo@something.com")
collection.insertOne(new_doc, (err, result)=>{
if(err){
//err: returns " key $numberLong must not start with '$' "
}
}
我正在使用 npm 包 mongodb@3.6.0
我做错了什么?或者自定义数据类型不适用于 JS?
........................................
更新
........................................
完整错误日志
Error: key $numberLong must not start with '$'
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:915:19)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:941:17)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:941:17)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:727:17)
at serializeObject (--------------\node_modules\bson\lib\bson\parser\serializer.js:347:18)
at serializeInto (--------------\node_modules\bson\lib\bson\parser\serializer.js:941:17)
at BSON.serialize (--------------\node_modules\bson\lib\bson\bson.js:64:28)
您使用的扩展 json 语法不适合在应用程序中构建对象图。相反,您应该构建适当类型的对象。
例如,请参阅 here 的长示例。
const BSON = require('bson');
const Long = BSON.Long;
const doc = { long: Long.fromNumber(100) };