Json 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

在网上深入研究之后,我一直无法弄清楚BSON是否支持匿名对象数组。我之所以要这样做,是因为日志系统具有以下模式

{
  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驱动程序把我弄得一塌糊涂,您确实需要跟踪数组元素的“索引”名称

父文档的上下文是什么?听起来这些应该是单独的文档,需要编辑答案,包括创建示例文档的示例。。。可能无法编译/工作,但我认为它应该有帮助。