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"
}
>
mongoDb 命令的更多相关文章
- MongoDB命令行操作
本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...
- MongoDb 命令查询所有数据库列表
原文:http://blog.csdn.net/huxu981598436/article/details/47216493 MongoDb 命令查询所有数据库列表 CODE: > show d ...
- MongoDB命令及其MongoTemplate的混合讲解
前言 前面讲解了如何在springboot中集成mongodb,本文将讲解mongodb命令操作及其MongoTemplate的使用.穿插的目的在于不用先去寻找mongodb的命令又去寻找在java中 ...
- Mongodb命令 --- MongoDB基础用法(二)
Mongodb命令 数据库操作 创建数据库 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 删除数据库 Mong ...
- MongoDB命令及SQL语法对比
mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(col ...
- mongodb新手入门,mongodb命令学习
下面来总结一下mongodb新手入门的常用命令吧.要是您是mongodb新手,可以看下. 1,show dbs 查询mongodb里面的数据库列表 如果想查看当前连接在哪个数据库下面,可以直接输入db ...
- mongoDB命令
. getLastError db.runCommand({getLastError:}) . buildInfo //返回mongoDB的服务器版本号和操作系统类型 db.runCommand({} ...
- mongodb命令使用
最近学习mongodb的使用,整理了一些常用命令 windows服务安装:mongod --install --serviceName MongoDB --serviceDisplayName Mon ...
- MongoDB命令学习
mongodb不像关系型数据库有很强大的GUI客户端,虽然mongodb也有,但功能和稳定性实在不敢恭维,所以操作mongodb我们大部分 都是用类似cmd命令的方式(mongodb称为shell操作 ...
- 【MongoDB数据库】MongoDB 命令入门初探
MongoDB是一款NoSql数据库,使用了"面向集合"(Collection-Oriented)原理,意思是数据被分组存储在数据集中,被称为一个集合(Collection).每一 ...
随机推荐
- RT-Thread Nano移植
RT_Thread移植:在MDK下以组件形式提供 https://pan.baidu.com/s/1miac86O#list/path=%2Fsharelink4264488348-377157516 ...
- vue-webpack项目中调试的问题
在使用devtools的过程中,可以使用debugger.
- JSON中的坑
坑一. 在使用localStorage时,我们会给一个key存取一个value,这个value可以是一个普通的字符串,也可以是一个对象,如果是一个字符串,我们就需要通过JSON.stringify来转 ...
- (转载)Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...
- 008-PageBean类模板
1 PageBean模板一 package ${enclosing_package}; import java.util.ArrayList; import java.util.List; publi ...
- 【ExtJS】 FormPanel与ComboBox的集成以及值的获取
var formPanel = Ext.create("Ext.form.Panel",{ title : 'formPanel', width : 400, url : 'asd ...
- Derby的jar说明
Derby的jar说明 Derby的下载后,解压发现lib中有很多jar包,下面说明一下每个jar包的用途: 引擎库 derby.jar是引擎库,必须的 For embedded databases. ...
- poj 3601 Tower of Hanoi
Tower of Hanoi Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 1853 Accepted: 635 De ...
- wcf 登录认证 angular 认证重定向
自定义认证管理器,分为两级:1.登陆认证.2.权限认证.权限主要是用户.角色.角色用户关系.功能(系统资源).角色功能关系,5部分决定用户的权限(视图). 两层认证都通过后,更新session的最新交 ...
- 快速清除SQL2008日志文件
USE [master] --把数据库调整为简单模式 GO ALTER DATABASE krisvision SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DA ...