如何使用java在mongodb中搜索文档并从中删除字段?

Swa*_*988 4 java mongodb mongodb-query mongo-java-driver

我有一个device集合.

{
   "_id" : "10-100-5675234",
   "_type" : "Device",
   "alias" : "new Alias name", 
   "claimCode" : "FG755DF8N", 
   "hardwareId" : "SERAIL02",
   "isClaimed" : "true",
   "model" : "VMB3010", 
   "userId" : "5514f428c7b93d48007ac6fd" 
 }
Run Code Online (Sandbox Code Playgroud)

我想搜索文档_id,然后在从结果文档中删除字段后更新userId.我正在尝试不同的方式,但没有一个是有效的.请帮我.

dev*_*v ツ 6

您可以使用$unsetmongo-java驱动程序以这种方式删除字段:

    MongoClient mongo = new MongoClient("localhost", 27017);
    DB db = (DB) mongo.getDB("testDB");
    DBCollection collection = db.getCollection("collection");
    DBObject query = new BasicDBObject("_id", "10-100-5675234");
    DBObject update = new BasicDBObject();
    update.put("$unset", new BasicDBObject("userId",""));
    WriteResult result = collection.update(query, update);
    mongo.close();
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请访问:http://www.journaldev.com/4334/mongodb-update-document-set-all-example-mongo-shell-java-driver