mongodb教程(一)

mongodb是属于nosql,在介绍之前还是要mark一下RDBMS和NOSQL的区别。RDBMS主要存储结构化的数据,数据主要存储在表中,要查询数据必须使用结构化的SQL语句,有着严格的一致性要求。而NOSQL是存储非结构化的,非预知的数据,数据量大,数据结构多样,数据是以键值对的方式存储,并且是最终一致性,也就是非严格一致性。从查询效率上比较,NOSQL要远远大于RDBMS。

学习的时候下载一个NosqlBooster For Mongo桌面工具,使用比较方便,工具长这样:

创建数据库
use penn
删除数据库
db.dropDatabase();
创建集合
db.createCollection("penn",{capped:false,autoIndexId:true});
删除集合
db.createCollection("penn_test",{capped:false,autoIndexId:true});
db.penn_test.drop();
创建索引
db.getCollection("students").createIndex({ "stuedentId": 1 }, { "unique": true });
db.students.createIndex({ "stuedentCode": 1 }, { "unique": true });
插入数据
db.students.insert({stuedentId:100000,stuedentCode:100608066,studentName:'张三'});
再插入一条
db.students.insert({stuedentId:100001,stuedentCode:100608067,studentName:'严四'});
查找所有【排序,limit,跳过】
db.students.find({});
db.students.sort({_id:-1});
db.students.limit(2);
db.students.limit(1).skip(1);
条件查询
db.students.find({studentName:'严四'});
条件查询【控制类的显示与否】
db.students.find({studentName:'严四'},{name:1,_id:0});
type查询
db.penn.find({name:{$type:'string'}})
比较查询
db.penn.find({age:{$lt:30}});
db.penn.find({age:{$gt:30}});
db.penn.find({age:{$gte:29}});
db.penn.find({age:{$eq:29}});
db.penn.find({age:{$ne:29}});
or查询
db.students.find({
    "$or":[{studentName:'张三'},{studentName:'严四'}]
});
查询数量
db.students.count();
查询存在改字段的数据
db.students.find({"studentName":{$exists:true}});
and查询
db.students.find({
    "$and":[{"studentName":'张三'},{"male":"男"}]
})
条件更新【第一个Boolean是不存在是否更新,第二个Boolean是是否更新所有记录】
db.students.update({"studentName":'张三'},{$set:{"male":'男'}},true,true);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章