MongoDB 基础知识
一. 基础知识
1. MongoDB是一个文档型的数据库,文档就是一个键值对的有序集合。
例如这样:{"greeting":"hello world"}
2. MongoDB不但区分类型,而且还区分大小写。
{"foo":3} {"foo":"3"} {"foo":3}{"Foo":3} 这两对是绝对不一样的。
3.MongoDB的集合组成一组文档,如果将文档比喻成一个关系型数据库中的一行,那么集合就相当于一个表。这个集合是动态的,也就是说集合里面的文档可以是各种各样的。
4. MongoDB多个文档组成集合,而多个集合组成数据库。一个MongoDB实例可以承载多个数据库。
5. MongoDB默认的启动监听端口是27017。
6. MongoDB中还启动了一个非常基本的HTTP服务器,监听端口是18017。
7. MongoDB的shell是一个功能完备的JavaScript解释器。
二. shell基本操作:
1. 查看当前指向那个数据库:
> db test
2. 切换数据库:
> use demodb switched to db demodb
3. 插入集合中一条数据
> db.demodb.insert({"title":"my blog post","content":"here's my blog post","date":new Date()}); WriteResult({ "nInserted" : 1 })
4. 查询数据
> db.demodb.find() { "_id" : ObjectId("55ed3d9d1cf3d33c553dc57d"), "title" : "my blog post", "content" : "here's my blog post", "date" : "new Date()" } { "_id" : ObjectId("55ed3dc51cf3d33c553dc57e"), "title" : "my blog post", "content" : "here's my blog post", "date" : ISODate("2015-09-07T07:33:25.726Z") }
5. 查询并返回一条数据
> db.demodb.findOne() { "_id" : ObjectId("55ed3d9d1cf3d33c553dc57d"), "title" : "my blog post", "content" : "here's my blog post", "date" : "new Date()" }
6. 更新文档
> db.demodb.update({title:"my blog post"},{"title" : "my blog post", "content" : "here's my blog post", "date" : new Date(), "comment":[]}) <pre name="code" class="plain">riteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
7. 删除文档
> db.demodb.remove({title:"my blog post"}) WriteResult({ "nRemoved" : 2 })
删除文档有些特殊,必须携带参数,估计是为了避免误删除操作。