zoukankan      html  css  js  c++  java
  • 关于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 }
  • 相关阅读:
    PAT B1027 打印沙漏 (20 分)
    PAT B1025 反转链表 (25 分)
    PAT B1022 D进制的A+B (20 分)
    PAT B1018 锤子剪刀布 (20 分)
    PAT B1017 A除以B (20 分)
    PAT B1015 德才论 (25 分)
    PAT B1013 数素数 (20 分)
    PAT B1010 一元多项式求导 (25 分)
    HDU 1405 The Last Practice
    HDU 1165 Eddy's research II
  • 原文地址:https://www.cnblogs.com/wozuilang-mdzz/p/9579262.html
Copyright © 2011-2022 走看看