如何使用NodeJS在MongoDB中以NumberLong形式插入时间戳(以毫秒为单位)

Kam*_*han 5 mongodb node.js

我是nodejs的新手,并尝试使用nodejs实现当前时间戳的mongodb插入,以毫秒为单位将其插入为double值.任何人都可以帮我如何插入这个NumberLong值.

var data = {
        myId : uniqueId,
        Timestamp : Date.now(),   ---> This one is getting inserted as double.
        userData : applicationData
      }
    }
Run Code Online (Sandbox Code Playgroud)

我也尝试插入这样但它的插入为String.

 var mongo=require('mongodb');
 var Long = mongo.Long;

 var data = {
        myId : uniqueId,
        Timestamp : Long.fromString((Date.now() + "")), ---> This one is getting inserted as String.
        userData : applicationData
      }
    }
Run Code Online (Sandbox Code Playgroud)

kar*_*ivi 9

这是因为JavaScript编号始终是64位浮点.您可以使用Mongo驱动程序的Long(https://mongodb.github.io/node-mongodb-native/api-bson-generated/long.html)来解决此问题.

var Long = require('mongodb').Long;
var current_millies = new Date().getTime();

var data = {
 myId : uniqueId,
 timestamp : Long.fromNumber(current_millies),
 userData : applicationData
}
Run Code Online (Sandbox Code Playgroud)