zoukankan      html  css  js  c++  java
  • mongoDb 命令

    1.显示MongoDB的服务器统计:db.stats()

    2.创建数据库:use dbname  

    3.删除数据库:db.dropDatabase()

    4.检查当前选择的数据库:db

    5.检查数据库列表:show dbs //创建的数据库dbname 列表中是不存在的。要显示的数据库,需要把它插入至少一个文件。

    6.插入数据:db.collectionname.insert({"name":"hello world"})

    7.创建集合:db.createCollection(name, options) //在MongoDB中,不需要创建集合。当插入一些文件 MongoDB 自动创建的集合。

    8.检查创建的集合命令: show collections

    9.删除集合:db.collection_name.drop()

    9.查询集合数据:db.collection.find()

    10.结果显示在一个格式化的方式:db.collection.find().pretty()

    11.更新数据:db.collectionname.update() 

            db.collectionname.save()

    12.删除数据:db.collectionname.remove()

    13.数据投影:db.COLLECTION_NAME.find({},{KEY:1})

    14.记录数限制、跳过记录:db.mycol.find({},{"title":1,_id:0}).limit(1).skip(1)

    15.排序:db.mycol.find().sort({KEY:1})

    16.聚合:db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)

    在上面的例子中,我们已分组字段 by_user 文档,并在每个的次数by_user先前的值总和递增。没有聚集表达式列表。 

    表达式描述实例
    $sum 总结从集合中的所有文件所定义的值. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])
    $avg 从所有文档集合中所有给定值计算的平均. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}])
    $min 获取集合中的所有文件中的相应值最小. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}])
    $max 获取集合中的所有文件中的相应值的最大. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}])
    $push 值插入到一个数组生成文档中. db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}])
    $addToSet 值插入到一个数组中所得到的文档,但不会创建重复. db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}])
    $first 根据分组从源文档中获取的第一个文档。通常情况下,这才有意义,连同以前的一些应用 “$sort”-stage. db.mycol.aggregate([{$group : {_id : "$by_user", first_url : {$first : "$url"}}}])
    $last 根据分组从源文档中获取最后的文档。通常,这才有意义,连同以前的一些应用 “$sort”-stage. db.mycol.aggregate([{$group : {_id : "$by_user", last_url : {$last : "$url"}}}])

    11.Where条件

    RDBMS Where子句和MongoDB等同语句

    要查询文件的一些条件的基础上,可以使用下面的操作

    操作语法例子RDBMS 等同
    Equality {<key>:<value>} db.mycol.find({"by":"tutorials yiibai"}).pretty() where by = 'tutorials yiibai'
    Less Than {<key>:{$lt:<value>}} db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
    Less Than Equals {<key>:{$lte:<value>}} db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
    Greater Than {<key>:{$gt:<value>}} db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
    Greater Than Equals {<key>:{$gte:<value>}} db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
    Not Equals {<key>:{$ne:<value>}} db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50

    AND 在MongoDB中用法

    语法:

    在  find() 方法,如果通过多个键分离',',那么 MongoDB 处理 AND 条件。AND 基本语法如下所示:

    >db.mycol.find({key1:value1, key2:value2}).pretty()

    例子

    下面给出的例子将显示所有的教程,标题是“MongoDB Overview“

    >db.mycol.find({"by":"tutorials yiibai","title": "MongoDB Overview"}).pretty()
    {
       "_id": ObjectId(7df78ad8902c),
       "title": "MongoDB Overview", 
       "description": "MongoDB is no sql database",
       "by": "yiibai",
       "url": "http://www.yiibai.com",
       "tags": ["mongodb", "database", "NoSQL"],
       "likes": "100"
    }
    >

    对于上面给出的例子相当于where子句 ' where by='yiibai' AND title='MongoDB Overview' , 可以通过任意数量的键值对在 find 子句。 

    MongoDB中OR

    语法:

    OR条件的基础上要查询文件,需要使用$or关键字。OR 基本语法如下所示:  

    >db.mycol.find(
       {
          $or: [
    	     {key1: value1}, {key2:value2}
          ]
       }
    ).pretty()

    AND 和 OR 一起使用

    例子

    下面给出的例子将显示有像的文件大于100,其标题是“MongoDB Overview'或者是'yiibai' 。等效于 SQL where子句 为 'where likes>10 AND (by = 'yiibai' OR title = 'MongoDB Overview')'

    >db.mycol.find("likes": {$gt:10}, $or: [{"by": "yiibai"}, {"title": "MongoDB Overview"}] }).pretty()
    {
       "_id": ObjectId(7df78ad8902c),
       "title": "MongoDB Overview", 
       "description": "MongoDB is no sql database",
       "by": "yiibai",
       "url": "http://www.yiibai.com",
       "tags": ["mongodb", "database", "NoSQL"],
       "likes": "100"
    }
    >
  • 相关阅读:
    Filter过滤器
    jsp-JSTL表达式
    jsp-EL表达式
    JSP概述
    servlet编码问题
    微信开放平台-踩坑1
    Supervisor的安装以及使用
    laravel-mix的安装
    Laravel框架中打印sql
    Laravel 5.7 使用 PHP artisan migrate 的问题
  • 原文地址:https://www.cnblogs.com/valor-xh/p/6369619.html
Copyright © 2011-2022 走看看