如何使用 NodeJS 在 MongoDB 中插入时间戳(以毫秒为单位)作为 NumberLong [英] How to insert the timestamp in milliseconds as NumberLong in MongoDB using NodeJS

查看:305
本文介绍了如何使用 NodeJS 在 MongoDB 中插入时间戳(以毫秒为单位)作为 NumberLong的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 nodejs 的新手,并尝试使用 nodejs 将当前时间戳以毫秒形式插入到 mongodb 中,并将其插入为双精度值.任何人都可以帮助我如何将其插入为 NumberLong 值.

I new to nodejs and trying implement mongodb insert of current timestamp as milliseconds using nodejs its getting inserted as double value. Can anyone help me how to insert this as NumberLong value.

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

我也尝试像这样插入,但它以字符串形式插入.

I also try to insert like this but its getting insert as 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
      }
    }

推荐答案

这是因为 JavaScript 数字始终是 64 位浮点数.你可以使用 Mongo 驱动的 Long ( https://mongodb.github.io/node-mongodb-native/api-bson-generated/long.html )来摆脱这个问题.

This is because JavaScript Numbers are Always 64-bit Floating Point. You can use Mongo driver's Long ( https://mongodb.github.io/node-mongodb-native/api-bson-generated/long.html ) to get rid of this problem.

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

var data = {
 myId : uniqueId,
 timestamp : Long.fromNumber(current_millies),
 userData : applicationData
}

这篇关于如何使用 NodeJS 在 MongoDB 中插入时间戳(以毫秒为单位)作为 NumberLong的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆