Node.js 如何使用nodejs mongo驱动程序处理NumberLong()
我需要在mongoDB中插入数据,如下所示:Node.js 如何使用nodejs mongo驱动程序处理NumberLong(),node.js,mongodb,Node.js,Mongodb,我需要在mongoDB中插入数据,如下所示: db.collection('Test').insert({ "Name" : "Some", "UserID" : NumberLong(2147483647), ... 插入应该发生在与mongo db交互的nodejs脚本中 除了数字长外,一切都好 我得到以下错误: ReferenceError: NumberLong is not defined at /root/MongoPolluter/Mong
db.collection('Test').insert({
"Name" : "Some",
"UserID" : NumberLong(2147483647),
...
插入应该发生在与mongo db交互的nodejs脚本中
除了数字长外,一切都好
我得到以下错误:
ReferenceError: NumberLong is not defined
at /root/MongoPolluter/MongoPolluter.js:107:23
at connectCallback (/root/MongoPolluter/node_modules/mongodb/lib/mongo_client.js:505:5)
at /root/MongoPolluter/node_modules/mongodb/lib/mongo_client.js:443:13
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
我尝试过的:
- 添加
var BSON=require('BSON')代码>安装后。也许我应该用B元素
- 读一下:-我由此产生了这样一个想法:我只能使用mongo shell提供的数字?我不确定这是否正确
- 还可以阅读以下内容:
var Long=require('mongodb').Long代码>-我应该用Long.fromString(“”)替换NumbreLong()吗?没有办法让NumberLong()工作吗
谢谢NumberLong仅用于mongo shell。如果您在nodejs(javascript)中使用它,这并不意味着。 我使用mongoose和唯一的数字类型的数据
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var MyNumber = mongoose.model('my_number', { long_number: Number });
var record = new MyNumber({ long_number: 1234556 });
record.save(function (err) {
if (err) {
console.log(err);
} else {
console.log('ok');
}
});
// have to defind ObjectId when use even it a default type data of mongodb
var id = mongoose.Types.ObjectId('4edd40c86762e0fb12000003');
Long.fromString(“”)
解决方案有效。但是如果仍然可以使用NumberLong()
,那将是一件有趣的事情。ISOdate()
(需要使用newdate()
)也有同样的问题。