发布
社区首页 >问答首页 >在java中使用MongoDB查询(db.collection.remove

在java中使用MongoDB查询(db.collection.remove
EN

Stack Overflow用户
提问于 2013-11-22 07:42:50
回答 3查看 16.7K关注 0票数 3

在MongoDB的Java驱动程序中有没有办法调用我在MongoDB shell文档中看到的db.collection.remove(query)方法?也就是说,我知道查找要从MongoDB中删除的所有文档所需的确切标准,但我找不到一种方法来进行一次调用以在一次行程中删除这些记录。我所能想到的就是找到文档,然后逐个删除它们。

我看到了这个http://docs.mongodb.org/manual/reference/method/db.collection.remove/,这意味着应该有一种方法来做这件事,但是我不知道是什么Java调用让我得到了那个调用。

谢谢你的帮助

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-22 07:50:07

若要删除age属性为25的文档,请执行以下操作。

代码语言:javascript
代码运行次数:0
复制
MongoClient mongo = new MongoClient(new ServerAddress("localhost", 27017));
DB db = mongo.getDB("thedb");
DBCollection collection = db.getCollection("test");

BasicDBObject query = new BasicDBObject();
query.append("age", 25);

collection.remove(query);

DBCollectionBasicDBObject是Java API中最重要的两个类。

票数 8
EN

Stack Overflow用户

发布于 2016-02-24 03:30:02

此外,要从文档中删除特定值,可以在Mongo Java3.2中使用以下代码

代码语言:javascript
代码运行次数:0
复制
Document docToDelete = new Document("Designation", "SE-1");
objDbCollection.findOneAndUpdate(new Document("Company", "StackOverflow"), new Document("$unset", docToDelete));

上面的代码将首先查找具有company = StackOverflow的文档,然后从该文档中取消设置(删除) Designation = SE-1键/值。

票数 1
EN

Stack Overflow用户

发布于 2018-01-04 18:18:53

添加和更新Mongo

代码语言:javascript
代码运行次数:0
复制
public class App {
public static void main(String[] args) {

  try {

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("yourdb");

// get a single collection
DBCollection collection = db.getCollection("dummyColl");

//insert number 1 to 10 for testing
for (int i=1; i <= 10; i++) {
    collection.insert(new BasicDBObject().append("number", i));
}

//remove number = 1
DBObject doc = collection.findOne(); //get first document
collection.remove(doc);

//remove number = 2
BasicDBObject document = new BasicDBObject();
document.put("number", 2);
collection.remove(document);

//remove number = 3
collection.remove(new BasicDBObject().append("number", 3));

//remove number > 9 , means delete number = 10
BasicDBObject query = new BasicDBObject();
query.put("number", new BasicDBObject("$gt", 9));
collection.remove(query);

//remove number = 4 and 5
BasicDBObject query2 = new BasicDBObject();
List<Integer> list = new ArrayList<Integer>();
list.add(4);
list.add(5);
query2.put("number", new BasicDBObject("$in", list));
collection.remove(query2);

//print out the document
DBCursor cursor = collection.find();
    while(cursor.hasNext()) {
         System.out.println(cursor.next());
    }

    collection.drop();

    System.out.println("Done");

  } catch (UnknownHostException e) {
e.printStackTrace();
  } catch (MongoException e) {
e.printStackTrace();
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20134261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档