します。
ボンネットの下では、ドキュメントは「0」、「1」などのインクリメントされた名前を取得しますが、bson ライブラリはそれを隠します。
配列内の要素の場合、型を混在させることもできます。
{
array: [
{
message: "There was an error recording the file",
code: 1133
},
1234,
"etc."
]
}
編集:
ここのドキュメントからの引用: http://api.mongodb.org/c/current/tutorial.html#bson
次のようなことができるはずだと思います:
bson doc[1];
bson_init( doc );
bson_append_start_array( b, "ERROR_LOG" );
bson_append_start_object( doc, "0" );
bson_append_string( doc, "message", "There was an error recording the file" );
bson_append_int( doc, "code", 1133 );
bson_append_finish_object( doc );
bson_append_start_object( doc, "1" );
bson_append_string( doc, "message", "There was an error saving the file" );
bson_append_int( doc, "code", 1135 );
bson_append_finish_object( doc );
bson_append_finish_array( b );
bson_append_start_array( b, "FILE_LOG" );
bson_append_start_object( doc, "1" );
bson_append_string( doc, "message", "File 1234.txt edited" );
bson_append_int( doc, "code", 5445 );
bson_append_finish_object( doc );
bson_append_start_object( doc, "1" );
bson_append_string( doc, "message", "File transfer success" );
bson_append_int( doc, "code", 2332 );
bson_append_finish_object( doc );
bson_append_finish_array( b );
bson_finish( doc );
C ドライバーは私をうそつきにしたので、配列要素の「インデックス」名を追跡する必要があることに注意してください。