Node.js 如何使用nodejs mongo驱动程序处理NumberLong()

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

我需要在mongoDB中插入数据,如下所示:

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()
)也有同样的问题。