初识MongoDB

        这几天学习了下MongoDB。在这边分享下本身的学习经历。sql

        首先咱们须要了解下什么是MongoDB。在这套用下官方回答。mongodb

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。数据库

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。服务器

        NoSQL就很少说了,这种百度、google均可以查到。app

        MongoDB中包含了一些概念,database(数据库),collection(数据库表/集合),document(数据记录行/文档),field(数据字段/域),index(索引),primary key(主键,MongoDB自动将_id字段设置为主键)分布式

        启动链接mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]。性能

username:password@这个是帐号密码,可选,也就是说能够不设置帐号密码(测试数据库能够这样作,可是别傻傻的在release环境也这么搞)学习

host1 必须的指定至少一个host, host1 是这个URI惟一要填写的。它指定了要链接服务器的地址。若是要链接复制集,请指定多个主机地址。测试

portX 可选的指定端口,若是不填,默认为27017google

/database 若是指定username:password@,链接并验证登录指定数据库。若不指定,默认打开 test 数据库。

?options 是链接选项。若是不使用/database,则前面须要加上/。全部链接选项都是键值对name=value,键值对之间经过&或;(分号)隔开

举栗说明:mongodb://localhost:27017/jk-dev

关于options比较多,详细的能够本身查下官方文档

        这样咱们就链接上MongoDB,接下来咱们要进行增删改查。

use DATABASE_NAME 若是数据库不存在,则建立数据库,不然切换到指定数据库。

show dbs查看全部数据库。

use runoob这样咱们建立一个名字为runoob的数据库

db.runoob.insert({"name":"菜鸟教程"})  咱们刚建立的数据库 runoob 并不在数据库的列表中, 要显示它,咱们须要向 runoob 数据库插入一些数据。

db.dropDatabase()  删除数据库

db.createCollection(name, options)  建立集合

db.createCollection("col", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )

db.col.drop()    删除集合

db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库',by: '菜鸟教程',url: 'http://www.runoob.com',tags: ['mongodb', 'database', 'NoSQL'], likes: 100})     建立文档

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})    更新文档

db.col.remove({'title':'MongoDB 教程'})    删除文档

db.col.find().pretty()    查询文档 

db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()   按条件查询

db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其余键
db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其余键

db.collection.find(query, {_id:0, title: 1, by: 1}) // 只能全1或全0,除了在inclusion模式时能够指定_id为0

增删改查就到这里了。

相关文章
相关标签/搜索