Nodejs Date对象到protobuf

时间:2018-10-18 10:31:49

标签: node.js protobuf.js

我正在构建与protobuf集成的graphql。我有一个像这样的gql模式:

type User {
  userId: ID!,
  createTime: DateTime 
}

问题是我如何仅由构造函数创建User消息对象?请指定,我想这样做: message = new User(['my_user_id', '2018-10-01']).toObject(),以便将其转换为正确的protobuf消息对象。喜欢:

{    
  "userId": "my_user_id",
  "createTime": {
    "seconds": 15000000,
    "nanos": 0
  }
}

但是,createTime始终为undefined

我已经尝试了很多方法,但仍然没有用(顺便说一下,很少有在线资源谈论nodejs protobuf时间戳)

我尝试message = new User(['my_user_id', '2018-10-01T20:23:32.000Z']).toObject()无效

我尝试了message = new User(['my_user_id', new Date()]).toObject(),但是没有工作

我尝试了

let timestamp = new proto.google.protobuf.Timestamp()
timestamp.setSeconds(1)
timestamp.setNanos(1)
message = new User(['my_user_id',timestamp]).toObject()

也不起作用

有人知道正确的方法吗?非常感谢

1 个答案:

答案 0 :(得分:0)

我明白了。只需执行new User(['my_user_id', [1538425412, 0]]).toObject()并提供正确的消息对象

{
  "userId": "my_user_id",
  "createTime": {
    "seconds": 1538425412,
    "nanos": 0
  }
}