MongoDB的安装和使用

一、Mongo的安装和使用
先下载安装Mongo到官网下载对应的32为的版本 然后安装
找到官网的下载中心
https://www.mongodb.com/download-center#community
找到 Previous Releases
找到对应window Vista 32-bit withoutSSL i386
注意:32-bit builds are limited to around 2GB of data. In general you should use the 64 bit builds. See here for more information.

在C盘目录下面建立data目录
data目录下面建立db和log: 2个目录----目录一定要先创建
注意实际安装测试时需要建立2个对应的目录结构

1.windows32位系统组装安装自启动代码
以管理员的方式运行下面的命令
如果安装失败可以查看日志信息 查看安装的错误信息
mongod --dbpath="C:\data\db" --logpath="C:\data\log\log.txt" --serviceName MongoDB --journal --storageEngine=mmapv1 --install

注意:以管理员方式启动
/*
--dapath 指定数据的文件存储路径
--logpath 数据的操作日志
--serviceName 服务名称 建议MongoDB
--serviceDisplayName window组件的显示名称 可以跟服务名称不一致
指定在32位下面的存储格式
--journal --storageEngine=mmapv1 --install

卸载:
mongod --remove --serviceName "H512MongoDB" --journal
*/
mongod --dbpath="C:\h512database\db" --logpath="C:\h512database\log\log.txt" --serviceName H512MongoDB --serviceDisplayName H512MongoDB --journal --storageEngine=mmapv1 --install
// 32位系统 必须设置存储格式为 mmapv1
// 63位系统 不需要设置

64位安装
mongod --dbpath="C:\Program Files\MongoDB\data\db" --logpath="C:\Program Files\MongoDB\data\db\log.txt" --serviceName MongoDB

2.然后启动
必须在管理员的权限下启动
net start MongoDB

net stop MongoDB

3.删除对应的服务 修改最后一个为--remove就可以了
mongod --dbpath="C:\data\db" --logpath="C:\data\log\log.txt" --serviceName MongoDB --journal --storageEngine=mmapv1 --remove

4.输入mongo(数据库的连接工具) 连接Mongo数据库查看能否连接成功

show dbs //查看对应的所有的数据库
use admin //客户端 客户端 手动关闭数据库
db.shutdownServer();

二 、Mongo的基本使用
Mongo的介绍 NOSQL数据库类型
show dbs // 查看已经存在的集合数据

db.help() // 查看数据库的所有相关的方法

db.stats() // 查看数据库的状态

db.version() // 查看当前db的版本

db.getMongo() // 查看当前db的链接地址

use blog // 先切换到对应的数据集合类
// 切换数据库
// 数据库有多个 每次只能操作一个数据库
// 数据库里面的是集合 理解为表

show collections // 查看集合中的所有的数据信息

db.users.insert({"book_id":1});

db.users.find().count();

db.users.find({"book_id":1});

//这个主键的id 是自动生成的数据

db.users.find({"_id":ObjectId("58bcd55fbcbc58571cb74cd6")});

db.userInfo.find({name: /mongo/});

//相当于%%select * from userInfo where name like ‘%mongo%’;

db.userInfo.find({name: /^mongo/});

//select * from userInfo where name like ‘mongo%’;

// update 第一个是条件 第二个是要修改的值
db.users.update({"book_id":1},{$set:{"book_id":8}});

//执行后显示: WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

db.users.update({"book_id":1},{$set:{"book_di":10}},{"multi":true});

// 注意update 和 save的区别
update有3个参数
save方法只有一个参数 并且 如果更新的键没有 则会替换整个字段 会丢失一些字段信息
db.user.save({"_id":ObjectId("58bce7acbcbc58571cb74cd9"),"book_name":"ios"});

// 删除 remove方法只有一个条件
db.user.insert({"username":"david"});
db.user.insert({"username":"david"});
db.user.insert({"username":"david"});

先执行前面的插入3条数据 然后在执行后面的删除 删除前面插入的3条数据信息

db.user.remove({"username":"david"});

// 第2个参数默认为false 如果设置为true 则只删除 查询到的第一条记录信息
// 第2个参数 表示是否是单行删除 默认为false 表示不是单行删除
db.user.remove({"username":"david"},true);

/*
find:查询到的集合信息
{ "_id" : ObjectId("58bce5e3bcbc58571cb74cd8"), "book_id" : 999, "book_name" : "html5" }
{ "_id" : ObjectId("58bce7acbcbc58571cb74cd9"), "book_name" : "ios" }
{ "_id" : ObjectId("58bceadfbcbc58571cb74cde"), "username" : "david" }
{ "_id" : ObjectId("58bceadfbcbc58571cb74cdf"), "username" : "david" }
{ "_id" : ObjectId("58bceae1bcbc58571cb74ce0"), "username" : "david" }
*/

// 空条件 表示删除集合中所有的元素信息
// 类似清空表中的数据 但是表不删除 mongodb中叫索引(即表索引)不删除
db.user.remove({});

// 删除整个集合 类似删除表的操作
// 删除整个文档 和 文档对应的索引 即表名称
db.user.drop();

db.dropDatabase(); 删除当前所在的数据库信息

Mac下面 mongo命令行窗口中 输入cls 清除屏幕的信息

// 全部替换为后面的值
db.testuser.update({username:"tom"},{"username":"jack","age":20,sex:1});

// 设置数据字段中的属性值 自增显示
db.testuser.update({"username":"tom"},{$inc:{age:1}});

// 删除某个字段
db.testuser.update({username:"tom"},{$unset:{sex:1}});

// 可以向记录中添加或修改 一个值 不存在就添加 存在就修改
db.testuser.update({username:"jack"},{$set:{like:[]}});

// pull 向数组中删除一条记录

db.testuser.update({"username":"jack"},{"$pull":{like:["develpment"]}})

// push 向数组中添加一条记录
db.testuser.update({"username":"jack"},{"$push":{like:["develpment"]}})

// push 向数组中添加多条信息
db.testuser.update({"username":"jack"},{$pushAll:{like:["sport","computer"]}})

// 删除数组中的最后一个值
db.testuser.update({"username":"jack"},{$pop:{like:1}})

// 删除数组中的第一个值
db.testuser.update({"username":"jack"},{$pop:{like:-1}})

db.testuser.remove({});

db.testuser.remove({username:"david"});

db.testuser.drop();

三、数据库的备份和恢复

// 从制度的位置恢复数据库
mongodump -d blog -o /testData

mongorestore -d blogtest /testData/blog

你可能感兴趣的:(MongoDB的安装和使用)