node.js - 是否可以在 "keen"对象中添加除标准属性之外的其他用户定义属性?

标签 node.js reactjs keen-io

对于每个敏锐事件,敏锐对象都会自动附加敏锐对象的结构。

var keen_event = {
 "keen": {
  "created_at": "2012-12-14T20:24:01.123000+00:00",
  "timestamp": "2012-12-14T20:24:01.123000+00:00",
  "id": "asd9fadifjaqw9asdfasdf939"
 },
 other properties...
}

但我想在敏锐的对象中添加其他自定义属性:

 {
 "keen": {
  "created_at": "2012-12-14T20:24:01.123000+00:00",
  "timestamp": "2012-12-14T20:24:01.123000+00:00",
  "id": "asd9fadifjaqw9asdfasdf939",
  "event_type" : "some_values",
  ...
 }
}

我尝试在 eager 上添加其他属性,然后将 eager_event 编码为:

var encodedData = base64.encode(JSON.stringify(keen_event));

然后将编码数据传递到敏锐的 api 来创建事件,但我收到错误:“敏锐命名空间的属性无效。您使用了:\'event_type\'”。

有解决办法吗?创建敏锐事件时,是否可以在“敏锐”对象上添加除标准属性之外的自定义键值属性?提前致谢。

最佳答案

不可以,Keen API 不允许这样做。 keen 命名空间是保留的,并且只能在该命名空间中指定一小部分属性(例如 keen.timestampkeen.addons)当写入事件时。保留命名空间是为了允许 Keen 将来添加新的特殊用途属性,而不必担心与用户定义的属性发生冲突。 (另请参阅:https://keen.io/docs/api/#the-keen-object。)

也许值得退后一步问:为什么要向 keen 命名空间添加自定义属性?它可以让您做哪些使用 my.keen.xkeen_custom.x 无法做到的事情?

仅供引用:我是 Keen 的平台工程师:)

关于node.js - 是否可以在 "keen"对象中添加除标准属性之外的其他用户定义属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48091211/

相关文章:

node.js - AWS Lambda 上的 Microsoft 机器人 (botbuilder-aws-lambda) 错误

node.js - 如何在无服务器(AWS Lambda)应用程序中缓存或重用 MongoDB 数据库连接

javascript - 刷新 Keen.io 图/查询

python - QueryIncompleteError : Your query did not finish in 300 seconds. 很可能是我们这边出了问题

google-visualization - 通过 Keen 生成的 Google 柱状图的格式工具提示内容

javascript - Gulp 连续生成图像

mysql - 在nodeJS中处理从数据库返回的大数的最佳方法是什么?

javascript - Reactjs : display time in 24hr format

javascript - 在 React Router v4 中的嵌套交换机之间移动

javascript - React - 将函数传递给具有默认 Prop 的组件