业精于勤,荒于嬉;行成于思,毁于随。
我们上次说到NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务
这次我们介绍安装 NoSQL Manager for MongoDB可视化工具进行语句编写
可以点击下面几种方式进行工具下载
官网下载:https://www.mongodbmanager.com/download
百度云盘下载:
链接:https://pan.baidu.com/s/1-YhHyI63C7odjKUaRaZNHQ
提取码:xion
Git下载:
https://gitee.com/xiongze/nosql.manager.for.mongodb 或者直接下载 https://gitee.com/xiongze/nosql.manager.for.mongodb.git
一、安装
下载完点击 mongodbmanagerpro_inst.exe 进行安装,注意记住安装地址,
傻瓜式安装,一直点netx到最后即可。
安装完成后,需要把 nosql.manager.for.mongodb.professional.v.5.0.0.6-patch.exe 文件拷贝 mongodbmanagerpro_inst.exe 的安装地址下,如下图
二、连接客户端(启动可视化工具并连接)
1、确保mongodb已经启动。
很多时候连接不上的原因就是没有启动monggodb。(可以参考NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务)
2、如果没有特别设置账户权限,默认情况下,mongodb是可以根据 ip和端口直接连接的,示例连的是本机localhost,也可以直接换成指定的mongodb所在服务器ip
如下图,根据步骤进行操作即可,建立连接,创建数据库名,设置连接账号密码,测试连接设置好的数据库。
1.点击server进行直接连接
2.创建数据库名称
3.断开连接
4.移除连接
5.配置连接账号
6.连接数据库(设置好密码后我们就可以进行数据库的连接了),如下图:
三、编写脚本语句
1、默认展示方式
2、Shell脚本查询
更多写法可以去查看官网 MongoDB CRUD操作 https://docs.mongoing.com/mongodb-crud-operations,
基本的增删查改都有,如果这些语法还有不满足的直接百度即可。
我们大体看一下:
shell中的使用的是db.collection.find()的查询方式,
要选择集合中的所有文档,请将空文档作为查询过滤器参数传递给find方法。 查询过滤器参数确定选择条件:
db.inventory.find( {} )
此操作对应于以下SQL语句:
SELECT * FROM inventory
有关该方法的语法的更多信息,请参见find()。
3、Shell脚本插入
插入一个文件
db.collection.insertOne()
将单个文档插入集合中。
db.inventory.insertOne( { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } )
insertOne()
返回一个文档,其中包含新插入的文档的_id字段值。有关返回文档的示例,请参阅db.collection.insertOne() reference
引用。
插入多个文件
db.collection.insertMany()可以将多个文档插入一个集合中。 将文档数组传递给该方法。
下面的示例将三个新文档插入库存集合。 如果文档未指定_id字段,则MongoDB向每个文档添加带有ObjectId值的_id字段。 请参阅 插入行为。
db.inventory.insertMany([ { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } }, { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } }, { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } } ])
4、Shell脚本更新
shell方法:
- db.collection.updateOne(<
filter
>, <update
>, <options
>) //更新一行 - db.collection.updateMany(<
filter
>, <update
>, <options
>) //更新多行 - db.collection.replaceOne(<
filter
>, <update
>, <options
>) //更换文档
为了更新文档,MongoDB提供了更新操作符(例如$set
)来修改字段值。
更新单个文档
下面的示例在inventory集合上使用db.collection.updateOne()
方法更新项目等于“ paper”的第一个文档:
db.inventory.updateOne( { item: "paper" }, { $set: { "size.uom": "cm", status: "P" } } )
更新操作:
- 使用
$set
运算符将size.uom字段的值更新为“ cm”,将状态字段的值更新为“ P”
此操作对应于以下SQL语句:
UPDATE inventory SET size.uom='cm',status='P' WHERE id=(SELECT TOP 1 id FROM inventory WHERE item='paper')
5、Shell脚本删除
shell方法
删除所有文档
要删除集合中的所有文档,请将空的filter文档{}传递给db.collection.deleteMany()
方法。
以下示例从inventory收集中删除所有文档:
db.inventory.deleteMany({})
删除所有符合条件的文档
从状态字段等于“ A”的inventory集合中删除所有文档:
db.inventory.deleteMany({ status : "A" })
后语
更多用法参见官网:MongoDB中文手册|官方文档中文版
这期就介绍到这里,我们下期介绍怎么在项目中创建帮助类,建立连接进行增删改查。
下期预告
NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用