问题描述
这是在将文档对象插入到集合中之前构图的方式
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","[email protected]")
collection.insertOne(new_doc,(err,result)=>{
if(err){
//err: returns " key $numberLong must not start with '$' "
}
}
我正在使用npm软件包[email protected]
我在做什么错?还是自定义数据类型不适用于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) };