zoukankan      html  css  js  c++  java
  • 文档的增删改查

    增加文档:

     方法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
       返回值: 返回查找到的文档

  • 相关阅读:
    解析数据库xml格式字段
    Spring切面表达式,hibernate,struts
    常见枚举
    经典冒泡排序,九九乘法表,三角形
    拦截器后台安全验证
    Oracle 将表中多条数据同一字段拼成一列显示
    idea 11 控制台日志乱码
    BigDecimal 分转元,元转分
    currtDownLatch可能会出现的三个问题
    CountDownLatch用法
  • 原文地址:https://www.cnblogs.com/zengsf/p/9676679.html
Copyright © 2011-2022 走看看