284354749 发表于 2015-7-7 10:42:55

开篇文章-NoSQL之MongoDB基本操作

  MongoDB官网:http://www.mongodb.org/
  MongoDB J驱动: http://www.mongodb.org/display/DOCS/Drivers
  MongoDB Java文档:http://www.mongodb.org/display/DOCS/Java+Tutorial
  1.MongoDB 连接:
  连接数据库如果不存在,会自动生成数据库。



import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
Mongo m = new Mongo();
// or
Mongo m = new Mongo( "localhost" );
// or
Mongo m = new Mongo( "localhost" , 27017 );
DB db = m.getDB( "mydb" );

  设置用户名密码连接:有就返回true,否则返回false。



boolean auth = db.authenticate(myUserName, myPassword);

  2.MongoDB 获取所有的数据库




Mongo m = new Mongo();
for (String s : m.getDatabaseNames()) {
System.out.println(s);
}
  删除数据库:



Mongo m = new Mongo();
m.dropDatabase("myDatabaseName");

  3. MongoDB表
  获取数据库的所有表




Set colls = db.getCollectionNames();
for (String s : colls) {
System.out.println(s);
}
  获取表的索引:



List list = coll.getIndexInfo();
for (DBObject o : list) {
System.out.println(o);
}

  获取表的所有记录:



DBCursor cur = coll.find();
while(cur.hasNext()) {
System.out.println(cur.next());
}

  获取表的记录数量:



coll.find().count();
coll.find(new BasicDBObject("i", 26)).count(); //(可以在find里添加条件 )

  获取查询的第一条记录:



DBObject firstDoc = coll.findOne();
//findOne() 返回一个记录,而find()返回的是DBCursor游标对象。

  4. 查询
  条件 查询:



BasicDBObject condition = new BasicDBObject();
condition.put("name", "bruce");
condition.put("age", 26);
coll.find(condition);

  分页查询



DBCursor cursor = coll.find().skip(0).limit(10);
while(cursor.hasNext()) {
System.out.println(cursor.next());
}

  条件查询:



BasicDBObject condition = new BasicDBObject();
condition.put("age", new BasicDBObject("$gt", 50));
coll.find(condition);
比较符
"$gt": 大于
"$gte":大于等于
"$lt": 小于
"$lte":小于等于
"$in": 包含
//以下条件查询20
页: [1]
查看完整版本: 开篇文章-NoSQL之MongoDB基本操作