node.js - 如何使用 Nodejs mongo 驱动程序使用 NumberLong()

标签 node.js mongodb

我需要将数据插入到我的 mongoDB 中,如下所示:

db.collection('Test').insert({
     "Name" : "Some",
     "UserID" : NumberLong(2147483647),
      ...

插入应该发生在与 mongo db 交互的 Nodejs 脚本中 除了 NumberLong() 之外,一切都很好。

我收到以下错误:

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');。也许我应该使用 BSONElements?
  • 阅读此内容:MongoDB differences between NumberLong and simple Integer? - 从这里我想到我只能从 mongo shell 使用 NumberLong ?不确定这是否正确。
  • 另请阅读以下内容:var Long = require('mongodb').Long; - 我应该将 NumbreLong() 替换为 Long.fromString('') 吗?有没有办法让 NumberLong() 工作?

谢谢

最佳答案

NumberLong 仅用于 mongo shell。如果你在nodejs(javascript)中使用它就没有意义了。 我使用 mongoose 并且仅使用 Number 类型的数据

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');

关于node.js - 如何使用 Nodejs mongo 驱动程序使用 NumberLong(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633126/

相关文章:

node.js - Socket.IO 房间不在 Azure 上工作,但在本地工作

javascript - 如何在不区分大小写的情况下查询mongodb中的字符串?

javascript - 如何使用 React 在 Meteor App 中加载数据?

mongodb - 在 map reduce 中使用 IF/ELSE

java - (Spring Data MongoDB)多对多关系场景

node.js - 如何让 Node.JS Express 仅在 localhost 上监听?

javascript - Web 应用架构 - 使用 NodeJS 的发布订阅模式

node.js - Gulp安装警告: "Please update to minimatch 3.0.2"

node.js - 如何在 node.js 中生成 PDF

mongodb - 从 mlab heroku 检索数据