java - 向现有 mongo 数组添加新值

标签 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");

最佳答案

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

用 Java 编写,看起来像这样

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

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

关于java - 向现有 mongo 数组添加新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992405/

相关文章:

mongodb - 为一个字段的每个不同值找到第一个文档

mongodb - 使用 Jackrabbit Oak 优于 MongoDB 的优势

mongodb - 可以将mongodb与sqlalchemy一起使用吗?

java - 为什么要使用 session.beginTransaction & transaction.commit

java - 我的 Maven 配置有什么问题?

java - 如何使用 Java 在 MySQL 中进行不区分大小写的选择

mongodb - CouchDB 与 MongoDB(内存利用率)

java - 使用 Jackson 将 POJO 作为实体传递的 Jersey/JAX-RS 客户端

java - jee6 和 jee7 中的自定义标记文件

ruby-on-rails - Mongoid/Mongodb 和查询嵌入文档