mongodb基础语法
发布日期:2021-08-26 18:18:23 浏览次数:64 分类:技术文章

本文共 2432 字,大约阅读时间需要 8 分钟。

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),强转字符串在序列化

转载于:https://www.cnblogs.com/amber-liu/p/10279322.html

转载地址:https://blog.csdn.net/weixin_33894640/article/details/92636573 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CentOS7安装配置java环境,tomcat
下一篇:C# https客户端获取证书的工具方法

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月06日 07时51分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章