• 关于mongodb基础的命令


    banji----数据库 class---集合
    1、查看所在的数据库
    db
    2、查看所有的数据库
    show dbs
    3、创建数据库
    use banji
    #查看所有的数据库show dbs,创建的数据库(banji)不在列表中。要显示数据库,需要至少插入一个文档,空的数据库是不显示出来的。
    #db.banji.insert({"name":"banji"}),现在能看到数据库banji
    4、删除数据库 注意大小写
    db.dropDtabase() #这将删除当前所选数据库。
    5、显示所有的集合(相当于数据库中的表)
    show collections
    6、创建集合
    db.createCollection("class",{capped:true,autoIndesId:true,size:10240,max:1000})
    7、删除集合
    db.class.drop()
    8、插入文档
    db.class.insert(document)
    #db.class.save(document)----也可以
    document=({
    title:'mongoDB jiaocheng',
    by:'菜鸟教程',
    urls:'www.runoob.com',
    likes:100
    });
    9、更新文档
    db.class.update(
    <where>,
    <set>,
    {
    upset:<boolean>,
    multi:<boolean>,
    writeConcern:<document>
    }
    )
    • where: update的查询条件,类似sql update查询内where后面的。
    • set: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。
     
    db.class.update({'title':'mongoDB jiaocheng',{$set:{'title':'mongoDB'}}})
    error: Cannot change the size of a document in a capped collection : 83 != 73
    #没搞懂
    db.class.update({'title':'mongoDB jiaocheng',{$set:{'title':'mongoDB 111111111'}}})
     
    10、删除文档
    remove() 方法的基本语法格式如下所示:
    db.collection.remove( <query>, <justOne> )
    如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:
    db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
    参数说明:
    query :(可选)删除的文档的条件。
    justOne : (可选)如果设为 true 或 1,则只删除一个文档。
    writeConcern :(可选)抛出异常的级别。
     
    删除集合下全部文档:
    db.inventory.deleteMany({})
    删除 status 等于 A 的全部文档:
    db.inventory.deleteMany({ status : "A" })
    删除 status 等于 D 的一个文档:
    db.inventory.deleteOne( { status: "D" } )
     
    11、查询文档
    多个键值对同时查询,类似mysql中的and
    db.class.find({键值对[,键值对]}).pretty()
    key等于10
    db.class.find({'key':10}).pretty()
    小于10
    db.class.find({'key':{$lt:10}}).pretty()
    小于或等于10
    db.class.find({'key':{$lte:10}}).pretty()
    大于10
    db.class.find({'key':{$gt:10}}).pretty()
    大于或等于10
    db.class.find({'key':{$gte:10}}).pretty()
    不等于10
    db.class.find({'key':{$ne:10}}).pretty()
    or或者 等于10或者11
    db.class.find({$or:[{'key':10},{'key':11}]}).pretty()
    注意:
    查询大于100 ,小于200的数据
    db.class.find({key:{$gt:100,$lt:200}}).pretty
     
    12、查询指定数量的数据
    db.class.find().limit(2) #查询两条数据
     
    13、跳过指定数量的数据
    db.class.skip(2) #跳过2条数据
     
    14、排序
    db.class.find().sort({key:1}) #key一栏 升序排列
    db.class.find().sort({key:-1}) #key一栏 降序排列
     
    15、聚合 类似求和
    > db.class.aggregate([{$group:{_id:"$likes",num:{$sum:1}}}])
    { "_id" : 100, "num" : 4 }
    { "_id" : 1010, "num" : 1 }
    { "_id" : 90, "num" : 1 }
  • 相关阅读:
    (转)HTTP、TCP和HTTPS
    使用覆盖索引优化like查询
    Laravel 源码解析(一)
    redis 缓存策略注意的问题总结
    laravel 监听mysql操作 生成时间
    CommonJS, AMD, CMD 笔记
    php json_encode小数精度丢失的问题
    Python通过pandas操作excel常用功能
    Vmware 虚拟化技术
    磁盘中的esp分区与msr分区
  • 原文地址:https://www.cnblogs.com/wozuilang-mdzz/p/9579262.html
Copyright © 2020-2023  润新知