zoukankan      html  css  js  c++  java
  • mongoDB学习第一天之增删改查

    mongoDB 是 no-sql 的一种数据库。

    创建数据库:

      use dbName  #数据库中如果存在 dbName ,切换到此数据库;如果不存在此数据库,则创建 dbName 数据库!(tip:当有数据插入到数据库中时,dbName 数据库才真正被创建!)

    删除数据库:

      db.dbName.drop()

    创建集合(即数据表):

      db.createCollection('colName', options)  #其中 options 为可选项。参数 capped ,布尔类型,为 true 时,则创建固定集合,必须指定 size 参数。固定集合指有固定大小的集合,当达到最大值时,会自动覆盖最早文档。参数 autoIndexId ,为 true 时,自动在 _id 字段创建索引。默认 false 。参数 size ,为固定集合指定一个最大值(以字节计)。参数 max ,指定固定集合中包含文档的最大数量。

    删除集合:

      db.colName.drop()

    插入文档:

      db.colName.insert({key:'value'});  # value 的值可以为字符串、列表、字典。

      db.colName.insert(document)  # 其中 document = ({name:'xsmile',email:'xu1577656@163.com'});

    更新文档:

      db.colName.update({'username':'xsmile'},{$set:{'username':'xxxxx'}},options)  # options 参数顺序有 upsert, 不存在 update 更新内容是否插入,默认 false。其次是 multi, 默认为 false,只更新查到的第一条数据,为真时,更新全部符合查询条件进行更新。

      修改器 $set, $inc(对文档的某个值为数字类型的键进行增减操作),$unset, $push, $pop, $upsert, $save

    删除文档:

      db.colName.remove({'type':1},options)  # 删除 type 为 1 的全部数据。其中 options 参数有 justOne,默认 false, 为 true 时,只删除一个文档。

    查询文档:

      db.colName.find(<query>,<projection>)  # query 查询条件, projection 可选,使用投影操作符指定返回的键。

      db.colName.find(<query>,<projection>).pretty()  # pretty() 方法以格式化的方法显示左右文档。

      db.colName.findOne()   # 它只返回一个文档

      查询时查询条件常需要进行比较,在 mongoDB 中,常用 $lt, $lte, $gt, $gte, $ne 来表示 小于、小于等于、大于、大于等于、不等于!(greater、less、equal)

      eg: db.colName.find({count : {$gt:10}})  # 查询所有 count 值大于 10 的文档

      

      mongoDB AND 条件

      db.work.find({key1 : value1, key2 : value2})  # 传入多个键,每个键以逗号隔开

      mongoDB OR 条件

      db.work.find({$or : [ {key1 : value1, key2 : value2} ]})  # 使用关键字 $or

    原创不易,尊重版权。转载请注明出处:http://www.cnblogs.com/xsmile/

  • 相关阅读:
    Ubuntu14.04安装ROS Indigo
    STM32F103移植uCOSIII始终卡在PendSV或Systick处解决办法
    STM32F103移植uCOSIII始终卡在PendSV或Systick处解决办法
    WIN7下PS/2等键盘失灵无法使用的解决办法--实测有效
    WIN7下PS/2等键盘失灵无法使用的解决办法--实测有效
    在altium designer9 等中使用protell99se的如0805,0603等PCB封装库
    在altium designer9 等中使用protell99se的如0805,0603等PCB封装库
    VB将输入文本框的数字分割并按十六进制发送
    Windows 10同步时间的方法
    maven安装cucumber的pom文件设置
  • 原文地址:https://www.cnblogs.com/xsmile/p/10383840.html
Copyright © 2011-2022 走看看