Mongodb与关系型数据库最大的区别就是无约束, 既无字段(外键等)约束, 也没有数据类型约束, 以json存储

安装
  启动Mongodb(默认在c盘找 data/db/文件夹)
  服务端:
    mongod --dbpath "指定数据库目录"
  默认端口 27017
  客户端:
    mongo

常用命令:

  show dbs
    查看所有存在磁盘上的数据库

  show tables
    查看当前数据库存在磁盘上的表(collections)

  use db
    创建(不存在这个名字) 或者 切换数据库

  db
    当前数据库

  db.user(表名)
    创建表

  增
     db.user.insertOne({"name": "Amber"})
    db.user.insertMany([{"name": "May"}, {"name": "Ryan"])

  删
    db.user.deleteOne({"name": "Amber"})
    db.user.deleteMany([{"name": "May"}, {"name": "Ryan"])

  改
    updata 需要结束一下修改器
    ({"条件"},{"关键字(修改器)":{"修改内容"}})

    $set 修改, 没有则添加一个字段
    db.user.updataOne({'name': 'Ryan'}, {$set: {'age': 18}})

    $unset 删除Field
    db.user.updataOne({'name': 'Ryan'}, {$unset: {'age': 1}})

    $inc 将查询到的某个结果,加上一个某个值
    db.user.updateOne({'name': 'Ryan'}, {$inc: {'age': -10}})

    array 修改器

    $push 在array(list)尾端添加一个新元素
      db.user.updateOne({'name': 'Ryan'}, {$push: {'hobby': '喝酒'}})

    $pull 删除某一个元素
      db.user.updateOne({'name': 'Ryan'}, {$pull: {'hobby': '做梦'}})

    $pop 删除 1是倒数第一个, -1 是正数第一个
      db.user.updateOne({'name': 'Ryan'}, {$pull: {'hobby': 1}})

    $pushAll
      db.user.updateOne({'name': 'Ryan'}, {$pushAll: {'hobby': ['爬山', , '游泳']}})

    $ 代指符 $存储符合条件的元素下标(索引)

      Array中的Object
          "hobby" : [
          "喝酒",
          {
             "name" : "ball",
             "price" : 100
          },
          "爬山",
          "游泳"
          如果要修改 ball 的价格 200
              db.user.updateOne({'hobby.name': 'ball'}, {$set: {'hobby.$.price': 200}})

    Object中的Array
      {
        "info" : {
           "id" : 1,
           "name" : "Ryan",
           "age" : 73,
           "hobby" : [
              "喝酒",
              "爬山"
              ]
            }
          }
      把喝酒改成游泳
         db.user.updataOne({'info.hobby': '喝酒'}, {$set: {'info.hobby.$': '游泳'}})

  查
    db.user.find({条件})

    且
      db.user.find({{"id":2,"age":18}})

    或
      db.user.find({$or: [{'age': {$gt: 18}}, {'name': 'May'}]})

    in
      db.user.find({'age': {$in: [10, 20, 30]}})

  sort, skip, limit:
    skip(5) 跳过五条数据
    limit(5) 只显示五条数据

    sort({age:1}) 升序
    sort({age:-1}) 降序

    如果三个关键字同时出现,优先级如下
    1.sort 2.skip 3.limit
      db.user.find().sort({'field': 1 or -1}).skip(n).limit(n)

pymongo
  注意:
    '_id': ObjectId('5c3eddb16c347e190d0510cc' 是ObjectId类的对象
    如果要序列化,也先str(_id),强转字符串在序列化

mongodb基础语法的更多相关文章

  1. mongodb 基础语法

    参考原文:菜鸟教程 目录 一.数据库二.文档三.索引四.聚合 一.数据库 show dbs -- 查看所有数据库 use DATABASE_NAME -- 如果数据库不存在,则创建数据库,否则切换到指 ...

  2. 2019-10-30:渗透测试,基础学习,mssql堆叠内联注入,mongodb基础语法

    使用xp_cmdshell需要堆叠注入,http://192.168.190.148/less-1.asp?id=1';EXEC sp_configure 'show advanced options ...

  3. MongoDB基础知识 02

    MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...

  4. MongoDB基础知识 01

    MongoDB基础知识  1. 文档  文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...

  5. MongoDB 基础(2019年开篇)

    MongoDB基础知识: 1.什么是MongoDB NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL". MongoDB是一个介于关系数据库和非关系数据库之 ...

  6. Hive学习笔记:基础语法

    Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ...

  7. MongoDB基础教程[菜鸟教程整理]

    MongoDB基础教程 ======================================================================================== ...

  8. 分布式文档存储数据库之MongoDB基础入门

    一.MongoDB简介 MongoDB是用c++语言开发的一款易扩展,易伸缩,高性能,开源的,schema free 的基于文档的nosql数据库:所谓nosql是指不仅仅是sql的意思,它拥有部分s ...

  9. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

随机推荐

  1. Splash plugins_enabled 属性

    plugins_enabled属性可以控制浏览器插件(如 Flash 插件)是否开启.默认情况下,此属性是 false ,表示不开启. function main(splash, args) spla ...

  2. android R文件不能识别?

    android R文件引入不了原因可能是: 1.xml有错误,导致R文件生成失败:(修改xml,并clear,然后再重新Bulid一下即可) 2.如果是图片,可能是命名有问题,查看并修改(不要以数字开 ...

  3. 推荐系统之隐语义模型(LFM)

    LFM(latent factor model)隐语义模型,这也是在推荐系统中应用相当普遍的一种模型.那这种模型跟ItemCF或UserCF的不同在于: 对于UserCF,我们可以先计算和目标用户兴趣 ...

  4. WP8.1学习系列(第十章)——中心控件Hub设计指南

    Windows Phone 应用商店应用中的中心控件指南   在本文中 说明 示例 用法指南 设计指南 相关主题 重要的 API Hub (XAML) HubSection (XAML) 说明 中心控 ...

  5. jstorm开发指南-写个简单的jstorm应用

    jstorm开发指南-写个简单的jstorm应用 发表于 2015-07-18   |   分类于 大数据   |   暂无评论 jstorm 是阿里巴巴开源的基于storm采用Java重写的一套分布 ...

  6. chorme 浏览器记住密码后input黄色背景处理

    使用chrome浏览器选择记住密码的账号,输入框会自动加上黄色的背景,有些设计输入框是透明背景的,需要去除掉这个黄色的背景: 方法1:阴影覆盖 input:-webkit-autofill { -we ...

  7. SSL是什么?如何使用?

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...

  8. 第一步 使用sencha touch cmd 4.0 创建项目、打包(加入全局变量、公用类、自定义扩展、资源文件)

    参考资料: http://www.cnblogs.com/qqloving/archive/2013/04/25/3043606.html http://www.admin10000.com/docu ...

  9. Ant的Manifest任务

    建立一个清单文件,他将放入某个jar,作为jar文件的说明书.其中,在清单文件可以指定jar文件的main-class,jar文件将可以直接运行.例子: <manifest >   < ...

  10. Unity3D笔记 英保通八 关节、 布料、粒子系统

    一.关节1.1..链条关节 Hinge joint :他可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力 1.2.. ...