MongoDB 入门学习
---恢复内容开始---
学习网址:http://www.yiibai.com/mongodb/mongodb_create_database.html
1,在MongoDB 官网:http://www.mongodb.org/downloads 上下载对应系统的版本,安装好MongoDB.
2,进入MongoDB 的安装目录的Bin 目录下,有如下几个exe文件,每个文件都有其对应的用途:
对应Exe文件的作用如下:
mongo | 客户端程序,连接MongoDB |
mongod | 服务端程序,启动MongoDB |
mongodump | 备份程序 |
mongoexport | 数据导出程序 |
mongofiles | GridFS工具,内建的分布式文件系统 |
mongoimport | 数据导入程序 |
mongorestore | 数据恢复程序 |
mongos | 数据分片程序,支持数据的横向扩展 |
mongostat | 监视程序 |
3,启动MongoDB 的服务,执行:mongod.exe ,会打开27017 的端口,可以在浏览器下打开http://localhost:27017/网站,说明MongoDB 的服务器已经启动成功,同样也可以在后台看到启动成功信息。
4,打开MongoDB的命令行工具,在命令行下执行:mongo.exe,会出现MongoDB 的版本信息,并且连接到testDB.
5,可以执行MongoDB 的相应的命令。
常用命令:
1>,db.help():查看MongoDB 的所有的命令,并且可以查看命令的使用说明。
2>,show dbs:查看DB的清单。
3>,db:查看当前DB的name
4>,user DBName:切换到指定的DB(如果对应的DB不存在,则创建一个新的DB)。
5>,db.dropDatabase():删除当前DB
6>,show collections :查看DB的collections 清单.
7>,db.createCollection("mycollection"):
创建一个Name为:mycollection 的集合
8>,db.mycollection .insert({"name" : "yiibai"}):插入记录,在MongoDB 也叫做插入文档。
9>,db.mycollection .find():查找对应collection 的所有的数据,其中:mycollection 就是对应的Collection Name,相当于SQL的:
select * from TableName;
10>,db.mycollection.find().pretty():这是格式化显示查询的结果
10.1,要查询文件的一些条件的基础上,可以使用下面的操作
操作 | 语法 | 例子 | RDBMS 等同 |
---|---|---|---|
Equality | {<key>:<value>} | db.mycol.find({"by":"tutorials point"}).pretty() | where by = 'tutorials point' |
Less Than | {<key>:{$lt:<value>}} | db.mycol.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
Less Than Equals | {<key>:{$lte:<value>}} | db.mycol.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
Greater Than | {<key>:{$gt:<value>}} | db.mycol.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
Greater Than Equals | {<key>:{$gte:<value>}} | db.mycol.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
Not Equals | {<key>:{$ne:<value>}} | db.mycol.find({"likes":{$ne:50}}).pretty() | where likes != 50 |
10.2,And 在MongoDB 中的应用:db.mycol.find({key1:value1, key2:value2}).pretty()
eg:db.mycollection .find({"by":"tutorials point","title": "MongoDB Overview"}).pretty():相当于:where by='tutorials point' AND title='MongoDB Overview'
10.3,OR 在MongDB 中的应用:
db.mycollection .find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
eg:
db.mycollection .find({$or:[{"by":"yiibai"},{"title": "MongoDB Overview"}]}).pretty():相当于:Where by='yiibai' or title='
MongoDB Overview'
10.4,Or 与And 的联合使用:
db.mycollection .find("likes": {$gt:10}, $or: [{"by": "yiibai"}, {"title": "MongoDB Overview"}] }).pretty()
相当于:where likes>10 AND (by = 'yiibai' OR title = 'MongoDB Overview')
11>,db.mycollection .update(SELECTIOIN_CRITERIA, UPDATED_DATA):更新文档,第一个参数是更新的条件,第二个参数是更新的字段
eg:db.mycollection .update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}})
相当于:update tablename set title='New MongoDB Tutorial' where title='MongoDB Overview'
MongoDB默认将只更新单一的文件,来更新多个你需要设置参数置'multi' 为true
db.mycollection.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}},{multi:true})
MongoDB Save() 方法
save() 方法替换现有的文档和通过新的文档 save() 方法
db.mycollection.save( { "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai New Topic", "by":"Yiibai" } )
12>,db.mycollection.remove(DELLETION_CRITTERIA):删除一条记录
eg:
db.mycollection.remove({'title':'MongoDB Overview'})
db.mycol.remove():不加条件,则删除该集合下的所有的文档,相当于SQL:truncate table
11>,db.mycollection.drop():删除集合
待续~~~~~~~~~