您的位置:首页 > 数据库 > Mongodb

MongoDB javaApi

2016-02-21 01:27 555 查看
MongoDB javaApi

public class MonogTest1 {

private static Mongo mongo;
private static DB dataBase;

static {
try {
mongo = new Mongo("localhost", 27017);
dataBase = mongo.getDB("db1");
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
/**
* 获取所有的数据库
*/
public static void getDataBaseName(){
List<String> databaseNames = mongo.getDatabaseNames();
for(String name:databaseNames){
System.out.println(name);
}
}

/**
* 获取某个数据库的所有集合
*/
public static void getCollects(){
Set<String> collectionNames = dataBase.getCollectionNames();
for(String name:collectionNames){
System.out.println(name);
}
}
//获取全部列表
public static void getList() {
DBCollection c2 = dataBase.getCollection("c5");
DBCursor dbObjects = c2.find();//返回值是个游标
System.out.println(c2.count());//条数
while (dbObjects.hasNext()) {
//System.out.println(dbObjects.next().get("name"));
System.out.println(dbObjects.next());
}
System.out.println(JSON.serialize(dbObjects));//将返回的数据饭转化成json串
mongo.close();
}

/**
* 显示某个具体的字段
* 1、id设置为false后查询的记过将不显示
* 2、除了id之外在控制显示字段的DBObject中将想显示的字段添加上,并且其设置为true
* 3、 如果分页的话可以在后面加上.skip(2).limit(3)
* 4、排序的时候可以在后面在加上sort执行顺序是先执行sort然后在执行SKIPT和limit
*/
public static void SelectIterm(){
DBCollection collection = dataBase.getCollection("c5");
DBObject keys = new BasicDBObject();
keys.put("_id", false);
keys.put("name", true);
keys.put("age", true);
keys.put("size",true);
DBCursor cursor = collection.find(null, keys).sort(new BasicDBObject("age", -1)).skip(2).limit(3);
while (cursor.hasNext()) {
DBObject object = cursor.next();
System.out.println(object);
}
}

//根据条件删除
public static void deleteIterm() {
DBCollection collection = dataBase.getCollection("c5");
//BasicDBObject o = new BasicDBObject("_id",new ObjectId("56c742e59ffc01ee27c96a92"));
BasicDBObject o = new BasicDBObject();
//o.put("_id",new ObjectId("56c743679ffc01ee27c96a94"));
o.put("name", "user4");
WriteResult remove = collection.remove(o);
System.out.println(remove.getN());//删除几条
mongo.close();
}

//增加:单个
public static void save() {
DBCollection collect = dataBase.getCollection("c5");
BasicDBObject o = new BasicDBObject();
o.put("name", "hwj");
o.put("age", 14);
List<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
o.put("lists", list);
WriteResult save = collect.insert(o);

System.out.println(save.getN());//不会返回存储的条数
}

//增加:批量
public static void saveBath() {
DBCollection collect = dataBase.getCollection("c5");
BasicDBObject o = new BasicDBObject();
o.put("name", "hwj");
BasicDBObject o1 = new BasicDBObject();
o1.put("name", "dd");
List<DBObject> li = new ArrayList<DBObject>();
li.add(o);
li.add(o1);
WriteResult save = collect.insert(li);
}

//更新:更改需要先查出来,查出来之后再更改。
public static void update() {
DBCollection collect = dataBase.getCollection("c5");
BasicDBObject o = new BasicDBObject();//修改条件
o.put("_id", new ObjectId("56c743719ffc01ee27c96a96"));
DBObject obj = collect.findOne(o);
obj.put("age", 30);
obj.put("adress", "VBeijing");//添加字段
collect.update(o, obj);

// 第二种更新的方式
// DBObject update = new BasicDBObject();
// update.put("$set",new BasicDBObject("eamil","1234@126.com"));
// mongoDb.update(new BasicDBObject(),update,false,true,"c5");
}

public static void main(String[] args) {
// getList();
//deleteIterm();
//save();
//update();
// saveBath();
SelectIterm();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: