java mongodb $_java+mongodb的正确使用方法!

这篇博客详细介绍了如何使用Java API操作MongoDB数据库,包括连接数据库、创建和删除数据库、获取集合、插入、删除、修改和查询数据,以及各种查询条件的设置。示例代码涵盖基本操作和复杂查询,适合初学者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package maven.demo.test;

import java.util.ArrayList;

import java.util.List;

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.DBObject;

import com.mongodb.Mongo;

import com.mongodb.QueryOperators;

public class MongoDB {

private static void print(String str){

System.out.println(str);

}

public static void main(String[] args) {

try {

//创建连接

Mongo m=new Mongo("127.0.0.1", 27017);

//得到数据库

DB db=m.getDB("sun");

//得到所有数据库

//List colls=m.getDatabaseNames();

//for(String str:colls){

//System.out.println(str);

//}

////得到所有的集合(表)

//for(String collection:db.getCollectionNames()){

//System.out.println(collection);

//}

//删除一个数据库

//m.dropDatabase("sun");

//得到sun表

DBCollection coll=db.getCollection("stu");

//查看一个表的索引

//for(DBObject index:coll.getIndexInfo()){

//System.out.println(index);

//}

//DBObject myDoc=coll.findOne();

//System.out.println(myDoc);

//添加

//BasicDBObject doc=new BasicDBObject();

//doc.put("name", "sunshan");

//doc.put("sex", "男");

//doc.put("age", 22);

//coll.insert(doc);

//删除

//coll.remove(doc);

//BasicDBObject doc1=new BasicDBObject();

//doc1.put("i", 0);

//doc1.put("j", "foo");

//BasicDBObject doc2=new BasicDBObject();

//doc2.put("hello", "world");

//doc1.put("doc2", doc2);

//coll.insert(doc1);

//修改

//BasicDBObject doc3=new BasicDBObject();

//doc3.put("x", 6);

//BasicDBObject doc4=new BasicDBObject();

//doc4.put("x", 1);

//coll.update(doc3, doc4,true,false);

//如果数据库不存在就添加 |多条修改 false只修改第一天,true如果有多条就不修改

//条件查询

//System.out.println(coll.find(doc4));

//coll.findAndRemove(doc4);

////批量插入

//List datas=new ArrayList();

//for(int i=0;i<10;i++){

//BasicDBObject bd=new BasicDBObject();

//bd.put("name", "data");

//bd.append("age", i);

//datas.add(bd);

//}

//coll.insert(datas);

//添加

//BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start();

//documentBuilder.add("database", "mkyongDB");

//documentBuilder.add("table", "hosting");

//BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start();

//documentBuilderDetail.add("records", "99");

//documentBuilderDetail.add("index", "vps_index1");

//documentBuilderDetail.add("active", "true");

//documentBuilder.add("detail", documentBuilderDetail.get());

//coll.insert(documentBuilder.get());

//添加

//Map map=new HashMap();

//map.put("a", 1);

//map.put("b", "b");

//coll.insert(new BasicDBObject(map));

//添加

//String json ="{'1' : '1','2' : '2',"+"'11' : {'1' : 1, '2' : '2', '3' : '3'}}";

//DBObject dbobject=(DBObject)JSON.parse(json);

//coll.insert(dbobject);

//更新

//BasicDBObject bdo=new BasicDBObject();

//bdo.put("x", 11);

//coll.update(new BasicDBObject().append("x", 0), bdo);

//更新

//BasicDBObject bdo=new BasicDBObject().append("$inc", new BasicDBObject().append("x", 12));

//coll.update(new BasicDBObject().append("x", 11), bdo);

//更新

//如果不使用$set 直接是 age则所有的都会更新

//根据age为9条件把name:data修改为 name:sun

//BasicDBObject bdo=new BasicDBObject().append("$set", new BasicDBObject().append("name", "sunshan"));

//coll.update(new BasicDBObject().append("age", 9), bdo);

//更新

//根据name为data条件把age:批量修改为 age:age

//BasicDBObject bdo=new BasicDBObject().append("$set", new BasicDBObject().append("age", "age"));

//coll.update(new BasicDBObject().append("name", "data"), bdo,false, true);

//查询age=1

//print("find:"+coll.find(new BasicDBObject("age", 1)).toArray());

//查询age<=1

//print("find: "+coll.find(new BasicDBObject("age", new BasicDBObject("$lte", 1))).toArray());

//查询age>=1

//print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject("$gte", 1))).toArray());

//查询age!=1

// print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject("$ne", 1))).toArray());

//查询age=1,2,3

//print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.IN ,new int[]{1,2,3}))).toArray());

//查询age!=1,2,3

//print("find: "+coll.find(new BasicDBObject("age" ,new BasicDBObject(QueryOperators.NIN ,new int[]{1,2,3}))).toArray());

//print("find: "+coll.find(new BasicDBObject("age" ,new BasicDBObject(QueryOperators.EXISTS ,true))).toArray());

//查询age属性

//print("find: "+coll.find(null ,new BasicDBObject("age" ,true)).toArray());

//List list=coll.find().toArray();

//for(Object obj:list){

//System.out.println(obj);

//}

//DBObject dbc=new BasicDBObject();

//dbc.put("name", 1111);

//List list=new ArrayList();

//list.add(dbc);

//System.out.println(coll.insert(list).getN());

////查询部分数据块

//DBCursor cursor=coll.find().skip(1);

//while(cursor.hasNext()){

//System.out.println(cursor.next());

//}

//DBCursor cur=coll.find(); //DBCursor cur=coll.find().limit(2);

//while(cur.hasNext()){

//System.out.println(cur.next());

//}

//System.out.println(cur.getCursorId()+" "+cur.count()+" "+JSON.serialize(cur));

//条件查询

BasicDBObject doc5=new BasicDBObject();

doc5.put("$gt", 1);

doc5.put("$lt", 3);

print("find 21

//BasicDBObject doc5=new BasicDBObject();

//doc5.put("$gt", 1);

//doc5.put("$lt", 3);

//BasicDBObject doc6=new BasicDBObject();

//doc6.put("x", doc5);

//System.out.println(coll.find(doc6));

} catch (Exception e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值