Java MongoDB基本操作(查詢、刪除、更新等)
阿新 • • 發佈:2018-12-24
正在持續更新...
MongoDB中的資料
{ "_id": ObjectId("57c43caed4c63d7e39b5dc48"), "name": "張三", "age": 15, "arr": [1,2,3], "arrObj":[{ "field1":"value1", "field2":"value2" }] } { "_id": ObjectId("67c43caed4c63d7e39b5dc57"), "name": "李四", "age": 16, "arr": [4,5,6] }
DBCollection的獲取
MongoTemplate template;
DBCollection collection = template.getDb().getCollection("colectionName");
查詢
1.根據ObjectId
BasicDBObject query = new BasicDBObject("_id", new ObjectId("67c43caed4c63d7e39b5dc57"));
collection.find(query);
2.in查詢
ArrayList<ObjectId> objectIds = new ArrayList<>(); objectIds.add(new ObjectId("67c43caed4c63d7e39b5dc57")); objectIds.add(new ObjectId("67c43caed4c63d7e39b5dc58")); QueryBuilder queryBuilder = QueryBuilder.start("_id").in(objectIds); DBCursor dBCursor= collection.find(queryBuilder.get());
3.查詢指定返回欄位
BasicDBObject query = new BasicDBObject("_id", new ObjectId("67c43caed4c63d7e39b5dc57"));
BasicDBObject field = new BasicDBObject("name", true);
collection.find(query, field );
刪除
1.根據ObjectId刪除
BasicDBObject query = new BasicDBObject("_id", new ObjectId("67c43caed4c63d7e39b5dc57")) collection.remove(query );
更新
1.整個文件更新
BasicDBObject dbObject = BasicDBObject.parse("{name:'王五'}");
dbObject.put("_id", new ObjectId("67c43caed4c63d7e39b5dc57"));
WriteResult writeResult = collection.save(dbObject);
2.更新陣列中某一條資料
BasicDBObject query= BasicDBObject.parse("{name:'張三'}");
BasicDBObject update = new BasicDBObject("$set", new BasicDBObject("arrObj.0.field1", "val1"));
WriteResult writeResult = collection.update(query, update);
返回結果的處理
// 執行查詢返回dBCursor
DBCursor dBCursor= collection.find(query);
if(dBCursor.hasNext()){
DBObject next = dBCursor.next();
BasicDBObject basicDBObject = (BasicDBObject) next;
System.out.println(basicDBObject .toJson());
}