You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过FIWARE-Orion从MongoDB集合获取数据?是否需先创建实体?

关于Orion Context Broker直接读取MongoDB集合的问题

首先得明确:Orion Context Broker没办法直接读取你自定义的MongoDB集合(比如你的superUser)里的文档。原因很简单——Orion在MongoDB里存储实体的格式是严格遵循NGSI规范的,和你自己定义的superUser文档结构完全不一样。

接下来给你拆解两种可行的处理方式:

方式一:将现有MongoDB数据导入为Orion的NGSI实体

你需要把superUser里的文档转换成Orion能识别的NGSI实体格式,然后通过Orion的NGSI10 API(比如POST /v2/entities)创建实体。转换后的实体大概是这样的:

{
  "id": "superUser:5ab1552823102117ecf77947",
  "type": "SuperUser",
  "email": { "value": "mail@hotmail.com", "type": "Text" },
  "username": { "value": "abcd", "type": "Text" },
  "password": { "value": "12345", "type": "Text" },
  "firstName": { "value": "John", "type": "Text" },
  "lastName": { "value": "Doe", "type": "Text" }
}

创建完成后,你就可以用NGSI的GET API来检索了,比如执行这条命令:

GET /v2/entities/superUser:5ab1552823102117ecf77947

方式二:直接操作Orion的MongoDB后端(不推荐)

如果你实在不想转换实体,理论上可以直接连接Orion的MongoDB实例去查询superUser集合,但这完全违背了Orion的设计初衷——Orion的核心是提供标准化的上下文管理API,绕开API直接操作数据库会破坏数据一致性,而且后续Orion版本更新可能会改变数据库结构,导致你的查询失效。

总结一下:必须先把你的MongoDB文档转换成Orion的NGSI实体,才能通过Orion的GET API检索。直接读取自定义集合的方式不可行也不推荐。

内容的提问来源于stack exchange,提问作者zlash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:47:36