java - 使用 Java 修改 MongoDB 数组

标签 java mongodb

我是MongoDB新手,我想从数组结构中删除一个元素,如下所示:

{
    "Data" : [
        {           
            "url" : "www.adf.com"
            "type":7
        },
        {

            "url" : "www.pqr.com"
            "type":2
        }
        {           
            "url" : "www.adf.com"
            "type":3
        },
        {

            "url" : "www.pqr.com"
            "type":5
        }
    ],

}

我想删除 url=www.adf.com,其类型为最低值,即在本文档中,我的查询应删除 type=3 并返回文档,如下所示:

{
        "Data" : [
            {           
                "url" : "www.adf.com"
                "type":7
            },
            {

                "url" : "www.pqr.com"
                "type":2
            }

            {

                "url" : "www.pqr.com"
                "type":5
            }
        ],

    }

最佳答案

@shakthydoss 显示的查询可以用 java 描述如下:

    MongoClient mongoClient = new MongoClient("SERVER", 27017);
    DB db = mongoClient.getDB("DB_NAME");
    DBCollection coll1 = db.getCollection("COLLECTION_NAME");
    DBObject eleMatch = new BasicDBObject();
    eleMatch.put("url", "www.pqr.com");
    eleMatch.put("type", new BasicDBObject("$lte", 50));
    BasicDBObject up = new BasicDBObject();
    up.put("$elemMatch", eleMatch);
    BasicDBList basicDBList = new BasicDBList();
    basicDBList.add(up);
    DBObject query = new BasicDBObject("Data", new BasicDBObject(" $all", basicDBList));
    coll1.find(query);

关于java - 使用 Java 修改 MongoDB 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19615406/

相关文章:

Java字符串返回方法不返回字符串?

java - 当按下 AlertDialog 正按钮时 RecyclerView 是否刷新

mongodb - 是否可以将 MongoDb 上限集合与 phalcon 集合模型一起使用

session - Node.js,具有无限循环的 session

java - 解析电子邮件

javafx 在 ide (Netbeans) 中运行良好,而不是从命令行启动

java - tomcat中PostgreSQL数据库的JNDI查找

node.js - 在 Node.js 中使用 MongoDB 使用电子邮件或用户名登录

node.js - 验证错误: Validation failed mongoose

mongodb - 使用 Neo4j jdbc 时如何获取 Node 对象?