欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

征服 Mongodb 之 CRUD 博客分类: DB/NoSQL  

程序员文章站 2024-03-22 13:00:04
...

这段时间总难把精力投在调研工作上,眼下要放假了,回家的七七八八,没啥正事了,接着整理。征服 Mongodb 之 CRUD
            
    
    博客分类: DB/NoSQL   

 

 

集群配置相关链接:

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

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

 

基本操作相关链接:

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

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD

 

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

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

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

 

  • Create——insert
     数据插入通过insert函数,先建立一个局部变量(post),可以有字符串,数字,数组,日期,内嵌文档等等。数据类型见上篇,就这么几种,比较简单。征服 Mongodb 之 CRUD
            
    
    博客分类: DB/NoSQL  
> 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" }
     只要数据类型支持,怎么写都可以。征服 Mongodb 之 CRUD
            
    
    博客分类: DB/NoSQL  
  • Delete——remove
    remove函数可以删除整个表的记录,也可以删除符合条件的记录。
> db.blog.remove({"title" : "My Blog Post"})
> db.blog.find({"title" : "My Blog Post"})
> 
     如果不加条件,就是全部删除。征服 Mongodb 之 CRUD
            
    
    博客分类: DB/NoSQL  

    本以为MongoDB强大也简单,不成想越研究越多,这是把书读厚的第一阶段。征服 Mongodb 之 CRUD
            
    
    博客分类: DB/NoSQL  

 

 

集群配置相关链接:

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

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

 

基本操作相关链接:

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

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD