mondb 常用命令学习记录
一、MongoDB 下载安装
MongoDB官网 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center#community

- MongoDB for Windows 64-bit 适合 64 位的 Windows Server 2008 R2, Windows 7 , 及最新版本的 Window 系统。
- MongoDB for Windows 32-bit 适合 32 位的 Window 系统及最新的 Windows Vista。 32 位系统上 MongoDB 的数据库最大为 2GB。
- MongoDB for Windows 64-bit Legacy 适合 64 位的 Windows Vista, Windows Server 2003, 及 Windows Server 2008 。

创建数据目录
MongoDB将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该放在根目录下((如: C:\ 或者 D:\ 等 )。

二、命令行下运行 MongoDB 服务器
1.打开dos命令行 win + r 输入 cmd

2.进入mongodb安装目录
cd D:\MongoDB\Server\4.0\bin
3.运行mongo.exe
D:\MongoDB\Server\4.0\bin>mongo.exe
运行成功

三、常用命令
1.MongoDB 创建数据库的语法格式如下
use DATABASE_NAME
如果数据库不存在,则创建数据库,否则切换到指定数据库。
2.查看有哪些数据库
> show dbs;
admin 0.000GB
cars 0.301GB
config 0.000GB
local 0.000GB
rundb 0.000GB
3.进入rundb数据库
> use rundb
switched to db rundb
>
4.展示db库数据表列表
> show tables;
admin
col
rundb
test
users
5.在admin表中添加一条数据
db.admin.insert({"id":"1","username":"zhangsan","password":"123456","sex":"1"});
语法如下:
db.COLLECTION_NAME.insert(document)
6.修改数据(注意修改会覆盖原本所有数据字段)
db.admin.update({'id':'1'},{'username':'fffffffffffffffffff'});
语法如下: db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数说明:
- query : update的查询条件,类似sql update查询内where后面的。
- update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
- upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别。
7.删除数据
db.table_name.remove({'username':'fffffffffffffffffff'});
语法如下:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
- query :(可选)删除的文档的条件。
- justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
- writeConcern :(可选)抛出异常的级别。
8.分组group
db.getCollection('table').aggregate([{$group : {_id : "$ziduanming"}}])
9.查询数据
db.admin.find({'username':'zhangsan'}).pretty() //根据条件查询
MongoDB 条件操作符
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。
在本章节中,我们将讨论如何在MongoDB中使用条件操作符。
MongoDB中条件操作符有:
- (>) 大于 - $gt
- (<) 小于 - $lt
- (>=) 大于等于 - $gte
- (<= ) 小于等于 - $lte
操作符查询
db.table.find({id: {$gt : }}).pretty();
AND 条件
db.table.find({key1:value1, key2:value2}).pretty()
OR条件
{
$or: [
{key1: value1}, {key2:value2}
]
}
AND 和 OR 联合使用
db.table.find({"likes": {$gt:}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
分页排序条件联合查询
db.table.find({likes : {$gt : }}).skip().limit().sort({"likes":-});
skip 开始行数
limit 查询多少条
sort({key:val}) val 正序 val - 倒序
备份db库
mongodump //备份所有库至bin/dump/目录
--host :要导出数据库 ip
--port :要导出的实例节点端口号
--username :数据库用户名
--password :数据库用户密码
--collection :要导出的表名
--db :要导出的表所在数据库名
--out :要导出的文件路径(默认为当前文件夹)
mongoexport --collection ai_session_conversa --db ai_xbot --out ai_session_conversa.json
还原导入mongodb库
mongorestore -d upkeep --dir=D:/text //test库MongoDB数据恢复
--host :要导入的数据库 ip
--port :要导入的实例节点端口号
--username :数据库用户名
--password :数据库用户密码
--collection :要导入的表名
--db :要导入的表所在数据库名
--file :要导入的源文件路径(默认为当前文件夹)
mongoimport --collection ai_session_conversa --db ai_xbot --file ai_session_conversa.json
php中mongodb使用方法(使用前请安装对应版本的php_mongodb.dll扩展)
<?php $m = new MongoClient(); // 连接到mongodb
$db = $m->test; // 选择一个数据库
$collection = $db->runoob; // 选择集合
$document = array(
"title" => "MongoDB",
"description" => "database",
"likes" => 100,
"url" => "http://www.runoob.com/mongodb/",
"by", "菜鸟教程"
); $collection->insert($document); //数据插入 $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB 教程"))); // 更新文档 $collection->remove(array("title"=>"MongoDB 教程"), array("justOne" => true)); // 移除文档 $collection->find(); //数据查询 ?>
参考文档:
mongodb安装 http://www.runoob.com/mongodb/mongodb-window-install.html
mongodb手册 http://www.runoob.com/mongodb/mongodb-tutorial.html
mondb 常用命令学习记录的更多相关文章
- Linux常用命令学习记录
兄弟连Linux培训 ,小编整理了常用的Linux学习命令: 1 cp 拷贝命令 参数:-p 文件属性一起拷贝 -r 拷贝文件夹 -d 软链信息等一起拷贝 -a 是-rdp的简写 2 find 文件查 ...
- linux 常用命令学习记录
rm -f *.sh 2.grep -rn "enng" * 查找文件内容包含enng的文件(注意:文件名有xian的不会查询出) find . ! -name "*.s ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
- Linux的几个概念,常用命令学习
Linux的几个概念,常用命令学习---------------------------------设备名装载点// 通过装载点访问设备-------------------------------- ...
- # Linux 命令学习记录
Linux 命令学习记录 取指定文件夹下的任意一个文件,并用vim打开 vi $(ls -l|grep "^-"|head -n 1|awk '{print $9}') 统计给定文 ...
- npm常用命令学习(npm install -D,semver版本规范, npm进行版本管理的最佳实践用法)
什么是npm npm有两层含义.一层含义是Node的开放式模块登记和管理系统,网址为npmjs.org.另一层含义是Node默认的模块管理器,是一个命令行下的软件,用来安装和管理Node模块. npm ...
- liunx 常用命令学习笔记
通过linux 命令pwd:显示当前所在的目录ls:显示当前目录下的文件cd:切换路径 cd..返回上一级路径mkdir:新建目录rmdir:删除目录 touch:新建文件rm:删除文件 gedit: ...
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
随机推荐
- SpringMVC 参数传递和接收的几种方式
普通传参 测试项目:SpringBoot2.0.不使用 form 表单传参,后端不需要指定 consumes . 使用 Postman 进行测试. @PathVariable 只能接收 URL 路径里 ...
- 从fastjson多层泛型嵌套解析,看jdk泛型推断
给你一组json数据结构,你把它解析出来到项目中,你会怎么做? // data1 sample { "code" : "1", "msg" ...
- 《IDEO,设计改变一切》(Change By Design)- 读书笔记
一.关于IDEO与设计思维 IDEO是一家世界顶级创意公司,而作者蒂姆布朗是IDEO的CEO.当然,在未阅读本书之前,我都是不知道的,也不会主动去了解IDEO和蒂姆布朗的.那么,我为什么要去读这样一本 ...
- ASP.NET Core中使用GraphQL - 第五章 字段, 参数, 变量
ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间件 ASP ...
- LongLightUtils【保持屏幕常亮工具类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里只是简单记录下保持屏幕常亮工具类LongLightUtils的使用,具体请阅读参考资料<Android屏幕常亮,其实很简单 ...
- Java~时间戳小知识
大叔对java时间戳使用的总结 Java里的Date对象有方法setTime,主要是将一个时间戳转成一个日期对象,而这个时间戳的标准是unix标准,即当前时间与1970/1/1相差的毫秒数,记得是毫秒 ...
- Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比
pdf 是个异常坑爹的东西,有很多处理 pdf 的库,但是没有完美的. 一.pdfminer3k pdfminer3k 是 pdfminer 的 python3 版本,主要用于读取 pdf 中的文本. ...
- Memcached的安装配置与测试
https://www.cnblogs.com/edisonchou/p/3855969.html
- Revit通过API创建共享参数
Revit共享参数是通过创建一个.txt类型的文件来保存相关信息,一旦与项目保存完毕之后,共享参数也就变成了项目参数(项目参数无法通过API创建),项目参数是保存在Revit项目里面的,所以此时这个. ...
- 阿里、百度等多家公司Java面试记录与总结
算算自己大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面试经验. 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向的提高自己, ...