向现有mongo数组添加新值

时间:2013-08-01 11:09:38

标签: java mongodb

我的示例Mongo文档是:

{
    "_id" : ObjectId("51fa3d516bde1ca6f017a570"),
    "digits":[
        0,
        1,
        2,
        3,
        4,
        5,
        6
    ]
}

我想用一些额外的值附加数字数组。 说:

int[] myIntArray = new int[3];
int[] myIntArray = {7,8,9};

如何将myIntArray附加到java中的数字数组中 我的java代码是:

BasicDBList digits=(BasicDBList) cursor.next().get("digits");

1 个答案:

答案 0 :(得分:0)

MongoDB有$push运算符。您不必遍历集合来执行此操作,您可以在数据库中进行更新。

用Java编写,这看起来像

collection.update(...query expression...,
  new BasicDBObject("$push",
    new BasicDBObject("digits", value)));

这假设value是数组的单个新值。如果要一次追加数组的所有元素,则必须使用$each修饰符(有关详细信息,请参见上面的链接)。