Java 操作 Mongodb :
获取连接:
Mongo mongo = MongoConnection.getMongo();
DB newColl = mongo.getDB("user");//user 为当前要操作的表名
下文以操作 newCool 及 user 表为例
DBObject dbObj = new BasicDBObject();//dbObj 类似于 mysql 查询中的 where 关键字,可以添加各种搜索条件
添加:
例如要添加一个用户,需要向 user 表中插入一行记录,方法如下:
DBObject dbObj = new BasicDBObject();
dbObj.put("_id",1);//_id 字段前加 _ 默认作为主键使用
dbObj.put("userId", userId);
dbObj.put("username",userName);
newColl.insert(dbObj);// 插入操作
查询:
BasicDBObject dbo=new BasicDBObject();// 新建查询基类对象 dbo
1. 等值操作,类似于 mysql 下的 =
布尔值为例 boolean ifine=true ;
dbo.put("isFine", ifine);
2. 值范围查询,类似 mysql 下的 between 或者 >,< 比较操作
日期为例:
dbo.put("date",new BasicDBObject("$gte",startDate).append("$lte", endDate));
3. 模糊查询,类似于 mysql 下的 like
如下: content 为要查询的内容
Pattern pattern = Pattern.compile("^.*" + content+ ".*$", Pattern.CASE_INSENSITIVE);
dbo.put("content", pattern);
4.in 查询,比如要查询用户 ID 为 1,2 的用户:
dbo.put("userId",new BasicDBObject("$in",new Integer[]{1,2});
更新:
1. 普通更新字段,查找 id 为 1 的用户更新他的 userName 字段:
BasicDBObject upBdb=new BasicDBObject("$set" ,new BasicDBObject("username"," 新名字 "));
newColl.update(new BasicDBObject().append("_id",1),upBdb,false,false);
2. 整形字段自增 , 例如要是 commentsNums 字段自增 1 :
BasicDBObject upBdb=new BasicDBObject("$inc",new BasicDBObject("commentsNums", 1);// 加一操作
newColl.update(new BasicDBObject().append("_id",1),upBdb,false,false);
删除:
构建删除条件 delDbo=new BasicDBObject(“userId”,1);
coll.remove( delDbo );
查询数量:
条件 bdb =new BasicDBObject(“userId”,1);
newColl.find(bdb).count() ;