Mongodb'un NodeJS Sürücüsünde BSON tipini manuel olarak belirleyebilir miyim? "$ NumberLong" kullanırsam hata alıyorum
Aug 18 2020
Koleksiyona eklemeden önce belgenin nesnesini bu şekilde çerçeveliyorum
function newTupple(name, email){
return {
email:email,
name:name,
account_status:{
email_verified:{ //I want this in Int64
"$numberLong": `${Date.now()}`
},
activated:false
}
}
}
Sonra onu gibi eklerim
const new_doc = newTupple("Ninja", "[email protected]")
collection.insertOne(new_doc, (err, result)=>{
if(err){
//err: returns " key $numberLong must not start with '$' "
}
}
Npm paketi kullanıyorum [email protected]
Neyi yanlış yapıyorum? Veya özel veri türü JS için mevcut değil mi?
......................................
Güncelleme
......................................
Tam Hata Günlüğü
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)
Yanıtlar
1 D.SM Aug 18 2020 at 17:24
Bir uygulamada nesne grafikleri oluşturmak için uygun olmayan genişletilmiş json sözdizimi kullanıyorsunuz. Bunun yerine uygun türde nesneler inşa etmelisiniz.
Örneğin , Uzun bir örnek için buraya bakın .
const BSON = require('bson');
const Long = BSON.Long;
const doc = { long: Long.fromNumber(100) };
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'