Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
node.js中使用thrift的历元日期不正确_Node.js_Integer_Thrift_Epoch - Fatal编程技术网

node.js中使用thrift的历元日期不正确

node.js中使用thrift的历元日期不正确,node.js,integer,thrift,epoch,Node.js,Integer,Thrift,Epoch,我似乎在node.js中获得的thrift对象的历元日期值与存储在mongo数据库中并由服务返回的值不同 节约定义文件(节约v0.9.0),我有 蒙戈唱片 "createdTimestamp" : NumberLong("1366334385361"), "lastUpdatedTimestamp" : NumberLong("1366334385361") 节点报告 createDate: 534785233, lastUpdateDate: 534785233 生成的节点thrift客户

我似乎在node.js中获得的thrift对象的历元日期值与存储在mongo数据库中并由服务返回的值不同

节约定义文件(节约v0.9.0),我有

蒙戈唱片

"createdTimestamp" : NumberLong("1366334385361"),
"lastUpdatedTimestamp" : NumberLong("1366334385361")
节点报告

createDate: 534785233,
lastUpdateDate: 534785233
生成的节点thrift客户端似乎引用了I64

if (this.createDate !== null && this.createDate !== undefined) {
    output.writeFieldBegin('createDate', Thrift.Type.I64, 14);
    output.writeI64(this.createDate);
    output.writeFieldEnd();
}
我很欣赏你的见解


感谢

给定数字的二进制表示法是:

1366334385361  ->  10011111000011111111000000010110011010001
534785233      ->  00000000000011111111000000010110011010001

i、 e.如果取1366334385361的低32位,则得到534785233。因此,在您正在使用的程序或软件包的某个地方,它被转换/截断为32位整数,例如int(1366334385361)

给定数字的二进制表示为:

1366334385361  ->  10011111000011111111000000010110011010001
534785233      ->  00000000000011111111000000010110011010001

i、 e.如果取1366334385361的低32位,则得到534785233。因此,在您正在使用的程序或包的某个地方,它被转换/截断为32位整数,例如int(1366334385361)

感谢您确认该数字是一个被截断的32位整数。java thrift服务提供商已确认,他们在mongo中检索的64位长数字在thrift服务响应中正确输出。我会再确认一下。thrift定义文件将其标识为I64,节点thrift客户端被称为具有64位支持。我试图在节点或java端将其排除为thrift bug。感谢您确认该数字为截断的32位整数。java thrift服务提供商已确认,他们在mongo中检索的64位长数字已在thrift服务响应中正确输出。我会再确认一下。thrift定义文件将其标识为I64,节点thrift客户端被称为具有64位支持。我试图帮助排除节点或java端的节俭bug。正在返回的配置文件的Java服务源具有
private long createdTimestamp
私人long lastUpdatedTimestamp可能与其他数据点有关:服务是用Java编写的。正在返回的配置文件的Java服务源具有
private long createdTimestamp
私人long lastUpdatedTimestamp可能与某个事件相关?