Json BSON是否支持匿名对象数组
在网上深入研究之后,我一直无法弄清楚BSON是否支持匿名对象数组。我之所以要这样做,是因为日志系统具有以下模式Json BSON是否支持匿名对象数组,json,mongodb,schema,bson,Json,Mongodb,Schema,Bson,在网上深入研究之后,我一直无法弄清楚BSON是否支持匿名对象数组。我之所以要这样做,是因为日志系统具有以下模式 { ERROR_LOG: [ { message: "There was an error recording the file", code: 1133 }, { message: "There was an error saving the file", code: 1135 } ], F
{
ERROR_LOG: [
{
message: "There was an error recording the file",
code: 1133
},
{
message: "There was an error saving the file",
code: 1135
}
],
FILE_LOG: [
{
message: "File 1234.txt edited",
code: 5445
},
{
message: "File transfer success",
code: 2332
}
],
... etc.
}
可能是这种模式设计效率不高。如果不支持匿名对象,我愿意接受不同模式的建议。确实如此
在引擎盖下,文档将获得递增的名称“0”、“1”。。。但是bson库会对你隐瞒这一点
如果数组中的元素:
{
array: [
{
message: "There was an error recording the file",
code: 1133
},
1234,
"etc."
]
}
编辑:
从此处的文档中抄袭:
我认为你应该能够做如下事情:
bson单据[1];
bson_init(doc);
bson_append_start_数组(b,“错误日志”);
bson_append_start_对象(doc,“0”);
bson_append_字符串(doc,“message”,“记录文件时出错”);
bson(文件,“代码”,1133);
bson\u append\u finish\u对象(doc);
bson_追加_开始_对象(文档,“1”);
bson_append_字符串(doc,“message”,“保存文件时出错”);
bson(文件,“代码”,1135);
bson\u append\u finish\u对象(doc);
bson_追加_完成_数组(b);
bson_append_start_数组(b,“文件日志”);
bson_追加_开始_对象(文档,“1”);
bson_追加_字符串(文档,“消息”,“文件1234.txt已编辑”);
bson(文件,“代码”,5445);
bson\u append\u finish\u对象(doc);
bson_追加_开始_对象(文档,“1”);
bson_追加_字符串(文档,“消息”,“文件传输成功”);
bson(文件,“代码”,2332);
bson\u append\u finish\u对象(doc);
bson_追加_完成_数组(b);
bson_饰面(doc);
请注意,C驱动程序把我弄得一塌糊涂,您确实需要跟踪数组元素的“索引”名称 父文档的上下文是什么?听起来这些应该是单独的文档,需要编辑答案,包括创建示例文档的示例。。。可能无法编译/工作,但我认为它应该有帮助。