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 : 100}}).pretty();
AND 条件
db.table.find({key1:value1, key2:value2}).pretty()
OR条件
{
$or: [
{key1: value1}, {key2:value2}
]
}
AND 和 OR 联合使用
db.table.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
分页排序条件联合查询
db.table.find({likes : {$gt : 100}}).skip(0).limit(2).sort({"likes":-1}); skip 开始行数 limit 查询多少条 sort({key:val}) val 1 正序 val -1 倒序
备份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