使用C在MongoDB中更新Array中的多个值

时间:2014-06-30 10:01:19

标签: c mongodb

我想使用$each修饰符更新mongodb数组中的多个值,我想尝试这样做

bson_init( b );
            bson_append_start_object(b,"$addToSet");
            bson_append_start_object(b,"$each");
            bson_append_string(b,"grades","12");
            bson_append_string(b,"grades","Temp");
            bson_append_finish_object(b);
            bson_append_finish_object(b);
bson_finish(b );

但是没有获得成功,但是当我试图只添加一个项目时,它就像这样工作

   bson_init( b );
                bson_append_start_object(b,"$addToSet");
                bson_append_string(b,"grades","Temp");
                bson_append_finish_object(b);
    bson_finish(b );

任何人都可以指导我如何做到这一点。我正在使用C Driver。

1 个答案:

答案 0 :(得分:0)

您可能希望使用“bson_append_start_array”封装$ each的对象列表,“bson_append_start_array”用于表示$ each将使用的数组表示。

我建议编写一个mongo更新语句,然后转换为适当的'C'表示。