Java与mongodb的连接
1.1 连单台mongodb
Mongo mg = new Mongo();//默认连本机127.0.0.1 端口为27017
Mongo mg = new Mongo(ip);//可以指定ip 端口默认为27017
Mongo mg = new Mongo(ip,port);//也可以指定ip及端口号
1.2 连双台mongodb
//ip为主机ip地址,port为端口号,dataBaseName相当于数据库名
DBAddress left = new DBAddress("ip:port/dataBaseName");
DBAddress right = new DBAddress("ip:port/dataBaseName ");
//若一个mongodb出现问题,会自动连另外一台
Mongo mongo = new Mongo(left, right);
1.3 连多台mongodb
List<ServerAddress> mongoHostList = new ArrayList<ServerAddress>();
mongoHostList.add(new ServerAddress("ip",port));
mongoHostList.add(new ServerAddress("ip",port));
mongoHostList.add(new ServerAddress("ip",port));
Mongo mg = new Mongo(mongoHostList);
Java获取mongodb的数据库名
2.1 获取mongodb的db(数据库)
//dataBaseName相当于关系数据库里的数据库名,mongodb中若没有该
//数据库名也不会报错,默认mongodb会建立这个数据库名,为空。
DB db = mg.getDB(dataBaseName);
注意:mongodb区分大小写,程序中一定要注意
2.2 mongodb的db安全认证
//如果mongodb服务器运行时加了用户名及密码安全认证 如下图
若这个时候要想访问db中的collection(相当于关系数据库里的表),就必须通过安全认证才可以访问,否则后台会报您没有通过安全认证。
//安全认证java代码 返回true表示通过,false表示没通过不能进行操作
db.authenticate("userName", "password".toCharArray());
if(db.authenticate("admin", "123".toCharArray())){
System.out.println("连接mongodb成功...");
} else{
System.out.println("连接mongodb失败...");
}
Java对mongodb的collection进行crud操作
3.1 得到mongodb中的db的collection(表)
//参数tableName相当于关系数据库里的表名,
//若mongodb中没有该tableName,默认会创建该tableName,为空
DBCollection users = db.getCollection(tableName);
2.列出库的集合列表,相对于表对象
Set<String> colls = db.getCollectionNames();
for(String s : colls){
}
// 3.获取单个集合
DBCollection con = db.getCollection("users");
3.2 mongodb中的db的collection自增长主键
Mongodb中也像传统的关系数据库里表一样,有主键(_id)概念,用来唯一标识他们。当用户往collection中插入一条新记录的时候,如果没有指定_id属性,那么mongodb会自动生成一个ObjectId类型的值,保存为_id的值。
_id的值可以为任何类型,除了数组,在实际应用中,鼓励用户自己定义_id值,但是要保证他的唯一性。
传统的数据库中,通常用一个递增的序列来提供主键,在Mongodb中