package com.luxin;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.HashMap;
import java.util.Map;
public class MongodbTest {
static MongoClient client = new MongoClient("127.0.0.1");
static MongoDatabase database = client.getDatabase("test");
static MongoCollection<Document> collection = database.getCollection("mycol");
public static void main(String[] args) {
//mongodbFind();
//mongodbFindByCondition();
//mongodbInsert();
//mongodbUpdate();
mongodbDelete();
client.close();
}
/*
删除数据
*/
private static void mongodbDelete() {
//删除_id为4的记录
BasicDBObject bson = new BasicDBObject("_id","4");
collection.deleteOne(bson);
}
/*
修改数据
*/
private static void mongodbUpdate() {
BasicDBObject bsonOld = new BasicDBObject();
bsonOld.append("name","张三");
//将张三的年龄修改为30
BasicDBObject bsonNew = new BasicDBObject("$set",new BasicDBObject("age",30));
collection.updateOne(bsonOld,bsonNew);
}
/*
添加数据
*/
private static void mongodbInsert() {
Map<String,Object> map = new HashMap<>();
map.put("_id","4");
map.put("name","赵六");
map.put("age",19);
Document document = new Document(map);
collection.insertOne(document);
}
/*
按条件查询
*/
private static void mongodbFindByCondition() {
//查询"_id"="1"的数据
//BasicDBObject bson = new BasicDBObject("_id", "1");
//查询age>18的数据
BasicDBObject bson = new BasicDBObject("age", new BasicDBObject("$gt",18));
FindIterable<Document> documents = collection.find(bson);
for (Document document : documents) {
System.out.print("id:"+document.getString("_id"));
System.out.print(" name:"+document.getString("name"));
System.out.print(" age:"+document.getInteger("age"));
System.out.println();
}
}
/*
简单查询
*/
private static void mongodbFind() {
//查询全部
FindIterable<Document> documents = collection.find();
for (Document document : documents) {
System.out.print("id:"+document.getString("_id"));
System.out.print(" name:"+document.getString("name"));
System.out.print(" age:"+document.getInteger("age"));
System.out.println();
}
}
}