征服 Mongodb 之 CRUD

这段时间总难把精力投在调研工作上,眼下要放假了,回家的七七八八,没啥正事了,接着整理。大笑 

 

 

集群配置相关链接:

征服 Mongodb 之 安装与系统服务配置

征服 Mongodb 之 主从复制&集群复制

 

基本操作相关链接:

征服 Mongodb 之 常用命令、基本数据类型  

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD

 

Mongodb的安装、配置主从,以及有关基本数据类型,详见上一篇博客。

接下来我们做点最实用的部分——CRUD。

仔细翻阅了一下这本书,除了Insert、Find、Update和Remove

 

  • Create——insert
     数据插入通过insert函数,先建立一个局部变量(post),可以有字符串,数字,数组,日期,内嵌文档等等。数据类型见上篇,就这么几种,比较简单。大笑
> post = {"title":"My Blog Post",
... "content":"Here's my blog post.",
... "date":new Date()}
{
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : ISODate("2013-01-23T05:29:08.151Z")
}
> db.blog.insert(post)

  • Read——find/findOne
     文档读取,可以读全部文档,也可以读指定条件的文档:
> db.blog.find()
{ "_id" : ObjectId("50ff75376201fe04d53e42ed"), "title" : "My Blog Post", "content" : "Here's my blog post.", "date" : ISODate("2013-01-23T05:29:08.151Z") }
     当前,我们只插入了一条记录,所以使用find函数只会取到一条记录。
    做个条件查询:
> db.blog.find({"title":"My Blog Post"})
{ "_id" : ObjectId("50ff75376201fe04d53e42ed"), "title" : "My Blog Post", "content" : "Here's my blog post.", "date" : ISODate("2013-01-23T05:29:08.151Z") }
    如果条件符合,将会有多条数据。
     查询符合条件的一条数据:
> db.blog.findOne({"title":"My Blog Post"})  
{
        "_id" : ObjectId("5107257f2f0dc8fbf16e8f28"),
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : ISODate("2013-01-29T01:27:21.858Z")
}
     _id是记录中的主键,默认是 ObjectId类型,类似的还有 _class,作为类路径名。
    上述查询,相当于一条 where title = ' My Blog Post ' 条件式的SQL
    如果需要需要且关系条件的查询,可以按如下方式写:
> db.blog.findOne({"title":"My Blog Post", "content" : "Here's my blog post."})  
{
        "_id" : ObjectId("5107257f2f0dc8fbf16e8f28"),
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : ISODate("2013-01-29T01:27:21.858Z")
}
     相当于一条 where title = ' My Blog Post ' AND  content =  Here's my blog post. '   条件式的SQL
  • Update——update
    譬如新增一个字段 comments,先设置一个 post变量,执行 update操作。
> post.comments=[]
[ ]
> db.blog.update({"title":"My Blog Post"},post)
     查询该数据结果:
> db.blog.find()
{ "_id" : ObjectId("50ff75376201fe04d53e42ed"), "title" : "My Blog Post", "content" : "Here's my blog post.", "date" : ISODate("2013-01-23T05:29:08.151Z"), "comments" : [ ] }
    再来个更新操作:
> post.comments="desc"
desc
> db.blog.update({"title":"My Blog Post"},post)
> db.blog.find()
{ "_id" : ObjectId("50ff75376201fe04d53e42ed"), "title" : "My Blog Post", "content" : "Here's my blog post.", "date" : ISODate("2013-01-23T05:29:08.151Z"), "comments" : "desc" }
     只要数据类型支持,怎么写都可以。 酷
  • Delete——remove
     remove函数可以删除整个表的记录,也可以删除符合条件的记录。
> db.blog.remove({"title" : "My Blog Post"})
> db.blog.find({"title" : "My Blog Post"})
> 
     如果不加条件,就是全部删除。 保密

    本以为MongoDB强大也简单,不成想越研究越多,这是把书读厚的第一阶段。大笑

 

 

集群配置相关链接:

征服 Mongodb 之 安装与系统服务配置

征服 Mongodb 之 主从复制&集群复制

 

基本操作相关链接:

征服 Mongodb 之 常用命令、基本数据类型  

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD

你可能感兴趣的:(mongodb)