问题描述
我在MongoDB中有一个名为 results 的集合,我在其中插入了这样的文档:
{
"message_id" : 36
"field" : "DE5"
}
此外,集合 messages 具有不同的文档,这些文档定义了不同的消息模式,如下所示:
"message": {
"id": 36,"record": {
"field": [
{
"class": "BigEndianInteger","id": "StopOrGo","size": "1"
},{
"class": "BigEndianInteger","id": "IsObstacle","id": "IsRed","id": "IsBlue","id": "IsGreen","id": "AlarmStatus","id": "ClearLine","id": "Break","id": "WindProtectionActive","id": "ClearFlag","id": "JumperOn","id": "ModeTR","size": "1"
}
]
}
}
我的目标是修改 results 集合中的文档,根据 messages 集合的大小,将十六进制字段 DE5 解码为不同的字段ID。
对于BigEndian,0xDE5的输出应如下所示:110111100101
{
message_id : 36
field : "DE5"
decode : [
{
"class": "BigEndianInteger","size": "1","value" : 1
},{
"class": "BigEndianInteger","value" : 0
},"value" : 1
}
]
}
您是否知道MongoDB中的任何过滤构造,以根据 id 和 size 的另一个集合(如)中的文档解码此二进制 field >消息? 如果您认为MongoDB对于此任务没有用,我也将不胜感激。
非常感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)