• Mongodb语法


    //查看当前数据库
    db;

    //切换or创建数据库
    use runoob;

    //新增集合
    //在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。
    db.createCollection("runoob")


    //查看数据库下的集合
    show tables
    show collections


    //-----------------------------查询
    //查询name集合全部数据
    db.getCollection('name').find().pretty()

    //指定集合等于条件查询-name为集合名
    db.getCollection('name').find({"name":"菜鸟教程","name2":"MongoDB"}).pretty()

    //and条件查询-runoob为集合名
    db.runoob.find({$and:[{"name2":"菜鸟教程"},{"name3":"菜鸟教程3"}]}).pretty()

    //单一条件查询-name为集合名
    db.name.find({"_id":"630f0b8d71ea4a77823ee2e8"}).pretty()


    //------------------------------新增
    //增加数据-name为集合名
    db.name.insert({"name2":"菜鸟教程"})


    //--------------------------删除

    //删除数据库
    db.dropDatabase()

    //删除集合-name为集合名
    db.name.drop()


    //-------------------------更新
    更新name=菜鸟教程 的那条信息  ,name2字段值为MongoDB
    以下语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true
    db.name.update({"name":"菜鸟教程"},{$set:{'name2':'MongoDB'}},{multi:true})

    根据id更新

    db.getCollection("name").update( { _id: ObjectId("630f1f1c71ea4a77823ee2ec") }, {
        name2: "菜鸟教程5",
            name3:"123"
    } );

    参考: https://www.runoob.com/mongodb/mongodb-tutorial.html

    navicat可以复制插入和更新语句

     1.#where条件查询使用
     select * from User where name='zhangsan'
     # mongo中查询
     >db.User.find({name:'zhangsan'})
     2.# fields取相应的字段
     select name,age from where age=25
     #mongo中查询
     >db.User.find({age:25},{'name':1,'age':1})
     #查询结果
     { "_id" : ObjectId("61b45a1218b24d5eb2f22a58"), "name" : "zhangsan", "age" : 25 }
     3.# sort 在mongoDB中使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用1和-1来指定排序的方式,其中1为升序,-1为降序
     #select * from User order by age
     >db.User.find().sort({age:1})
     4.# suce 在mongoDB中使用limit()方法来读取指定数量的数据,skip()方法来跳过指定数量的数据
     #select * from User skip 2 limit 3
     >db.User.find().skip(0).limit(3)
     5.# in 在这个范围中的数据
     #select * from User where age in (21,26,32)
     >db.User.find({age:{$in:[21,26,32]}})
     6.# count 查询数量
     #select count(*) from User where age>20
     >db.User.find({age:{$gt:20}}).count()
     7.# or 条件关联查询
     #select * from User where age=24 or age=26
     >db.User.find({$or:[{age:24},{age:26}]})

    聚合函数

    db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
    by_user 为需要分组的字段
    num_tutorial : {$sum : 1}   count后另外起的字段名
    
    等于
     select by_user, count(*) from mycol group by by_user
     
     
     
     筛选后再分组
     db.BugMeassge.aggregate([
    { "$match" : { "createdtime" : { "$gte" : 1662134408000, "$lte" : 1662260529000}}}, 
    { "$group" : { "_id" : "$status", "status" : { "$first" : "$status"}, 
    "total" : { "$sum" : 1}}}])

    更多的参考:

    https://www.runoob.com/mongodb/mongodb-aggregate.html

  • 相关阅读:
    BeanFactory 简介以及它 和FactoryBean的区别
    由kill 和 kill -9 引发的Linux signal 学习
    验证整数和小数的正则表达式
    重构!重构!重构!
    Java常用命令:jps、jstack、jmap、jstat(带有实例教程)
    子网掩码是4个255代表什么?
    常见的访问控制模型 Access Control Policy:RBAC,DAC,MAC,ABAC
    安装驱动
    大话数据治理-01什么是治理,治理什么数据
    提高 nginx 服务器 安全性,稳定性、性能 --经验总结-持续更新
  • 原文地址:https://www.cnblogs.com/kaibindirver/p/16638848.html
Copyright © 2020-2023  润新知