• 文档的增删改查


    增加文档:

     方法1:

      db.collection.insert({}) 插入单个文档
      db.collection.insertOne({}) 插入当个文档
      db.collection.insert([{},{},{}]) 插入多个文档,参数用中括号
      db.collection.insertMany([{},{}]) 也是插入多个文档

      e.g.
      db.class0.insert({'name':"Lucy","age":18})
      e.q. db.class0.insert([{name:"dfsd",age:19,sex:"w"},{name:"fdsf",age:20,sex:"m"}])

      * 文档中键可以不加引号
      * _id为系统自动添加主键,如果自己写也可以,但是不能重复
      * _id 值可以自己插入,但是不能重复,_id就相当于主键

     方法2:  

      db.collection.save() 也是插入文档
      *如果不适用_id则save用法同insert一样
      * 如果加_id项,此时文档已经存在时则会替换原有文档,如果不存在,者正常插入

    删除文档:

      mysql:delete from table 表名 where
      mongodb:db.collection.remove(query,justOne)

      remove(query,justOne)
       功能:删除文档
       参数:query 用法同find
          justOne 布尔值 默认为false表示删除所有符合条件的文档设置文true则表示只删除一条
        e.g. 删除所有不存在sex的域的文档
          db.class1.remove({sex:{$exists:false}})
        e.g. 删除第一条性别为w的文档
          db.class1.remove({sex:"w"}, true)

      db.collection.remove({})    删除集合中所有的文档

    修改文档:

      mysql : update table set ... where ...

      mongodb : db.collection.update(query,update,upsert,multi)
        功能 : 修改文档
        参数 : query 筛选要修改的文档,相当于where     用法同查找
            update :将筛选的文档修改为什么内容,相当于set。 需要配合修改操作符($set)一同使用。
            upsert : bool值,默认为false。如果query的文档不存在则不进行任何操作
                如果设置为true则如果query的文档不存在就根据query和update插入新文档
            multi : bool值,默认为false。如果query文档有多条则只修改第一条,如果设置为true 则修改所有符合条件文档

       例子:
          将文档中名字为zengsf的年龄设置为15
            db.class.update({name:"zengsf"},{$set:{age:15}})
          如果有name=Jame的文档则修改,如果没有则根据query update插入新的文档
            db.class.update({name:"Jame"},{$set:{age:18}},true)

    查找文档内容:

      mysql : select * from table where ...
      mongodb : db.collection.find(query, field)

        find(query,filed)
          功能:查找文档
          参数:query 查找条件,相当于where字句
            field 查找的域
          返回值: 查找到的所有文档

          query:以键值对方式传参,如果是空{}表示查找所有内容

          field:以键值对的方式给出要查找(不查找)的域,以域名为键,以0,1为值分别表示不查找和查找
            db.class0.find({},{name:0}); 除名字以外,其它都查找
            db.class0.find({},{name:1}); 除名字以外,其它都不查找
          * 如果某一个或多个域设置为0 表示这些域不查找,其它域均查找
          * 如果某一个或多个域设置为1, 表示这些域都查找,其它域均不查找
          * _id除非设置为0,否则均会查找
          * 除_id域以外,其它域不能有的设置1有的设置0  

      查找所有内容  db.collection.find()

      findOne(query,field)
       功能: 查找第一条符合条件的文档
       参数: 同find
       返回值: 返回查找到的文档

  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/zengsf/p/9676679.html
Copyright © 2020-2023  润新知