zoukankan      html  css  js  c++  java
  • mongodb 基础操作

    首先进入下载文件夹的bin文件夹下

    重启mongodb :sudo service mongodb restart
    输入以下代码激活mongodb:
    可视化工具链接:https://robomongo.org/download

    启动mongodb这个命令需要你进入安装的根目录 (前提 有权限) ./mongod --dbpath ./

    打开你的pycharm或者另开一个终端:在终端输入:mongo
    进入数据库。
    查看当前数据库:db 查看所有的数据库:show dbs
    /show databases 切换数据库:use db_name 删除当前数据库:db.dropDatabase()
    use test1
    
    数据库内可以没有test1,show dbs也找不到test1,不过只要插入一个文档,数据库test1,就会创建成功
    不手动创建集合:
    向不存在的集合中第一次加入数据时, 集合 会被创建出来
    手动创建结合:
    db.createCollection(name,options)
    db.createCollection("stu")
    db.createCollection("sub", { capped : true, size: 10 } )
    参数capped:默认值 为false表示不设置上限,值为true表示设置上限
    参数size:当capped值 为true时,需要指定此参数, 表示 上限大小,当文档达
    到上限时,会将之前的数据覆盖,单位为字节
    查看集合: show collections
    删除集合: db.集合名称.drop()
    Object :文档ID
    String:字符串, 最常用, 必须是有 效的UTF -8
    Boolean:存储一个布尔值,true或false
    Integer:整数可以是32位或64位,这取决于服务器
    Double:存储浮点值
    Arrays:数组或列表,多个值存储到一-个键
    Object:用于嵌入式的文档,即一 个值为一个文档
    Null:存储Null值
    Timestamp:时间戳,表示从1970- .1-1到现在的总秒数
    Date:存储当 前日期或时间的UNIX时间格式
    输入:new Date('2018-12-20')
    
    输出:ISODate("2018-12-20T00:00:00Z")

    #插入数据:db.test100.insert({"name":"zhangsan","age":18})

          db.collection.insert({})插入数据,_id存在报错

          db.colllection.save()插入数据,_id存在会更新

    查询:db.集合名称.find()查询当前表里所有数据

    #更新
    db.集合名称.update(<query> ,<update>,{multi: <boolean>})
    参数query:查询条件
    参数update:更新操作符
    参数multi:可选,默认是false, 表示只更新找到的第- - 条记录,
    值为true表示把满足条件的文档全部更新
    db.stu.update({name:"hr},{name:'mnc'})更新一 条
    db.stu.update({name:"hr},{$set:{name:'hys'}}>更新一 条
    db.stu.update({},{$set:{gender:O}},{multi:true})更新全部
    注意: "multi update only works with $ operators"

    实例更新:db.test100.update({"name":"zhangsan"},{'name':'songjingrui'})
    这个会缺失部分内容比如年龄
    { "_id" : ObjectId("5c18e44c6dd06b79710905c1"), "name" : "zhangsan", "age" : 18 }
     查询:db.test100.find()
    db.test100.update({"name":"songjingrui"},{$set:{'name':'ergou'}})#推荐使用
    把名字为songjingrui的改为ergou其他的不变这才是我们想要的结果
    如果有两个名字相同的,更新第一个
    { "_id" : ObjectId("5c18e4986dd06b79710905c2"), "name" : "ergou", "age" : 20 }

    multi:true (可以更改多个)
     db.test100.update({"name":"ergou"},{$set:{'name':'goudan'}},{multi:true})
    db.集合名称.remove(<queny> ,{justOne: <boolean>})
    参数query:可选,删除的文档的条件
    参数justOne:可选,如果设为true或1, 则只删除一 条,
    默认
    false,
    表示删除多条
    
    
  • 相关阅读:
    关于三次握手与四次挥手你要知道这些
    seafile看不见repo报500错误的解决方法
    VMWare Workstation 配置docker多macvlan网络方法
    利用Python3的dpkt库进行ARP扫描
    关于LAMP配置Let’s Encrypt SSL证书
    OpenSSL生成CA证书及终端用户证书
    CentOS7.2安装Vim8和YouCompleteMe
    CentOS 7.2安装Jenkins自动构建Git项目
    CentOS 7.2 安装Gerrit 2.14.6
    CentOS7.2编译GCC7.3
  • 原文地址:https://www.cnblogs.com/liangliangzz/p/10140010.html
Copyright © 2011-2022 走看看