MongoDB的mongo shell是一个交互式的JavaScript shell,用于与MongoDB数据库进行交互,在mongo shell中,我们可以执行各种操作,如插入、查询、更新和删除文档等,以下是一些常用的操作方法及操作脚本。
1、连接到MongoDB服务器
要连接到MongoDB服务器,我们需要使用mongo
命令。
mongo --host <hostname> --port <port>
<hostname>
是MongoDB服务器的主机名或IP地址,<port>
是端口号(默认为27017)。
2、切换到指定的数据库
要切换到指定的数据库,可以使用use
命令。
use mydb
mydb
是要切换到的数据库名称。
3、显示当前数据库中的所有集合(表)
要显示当前数据库中的所有集合,可以使用show collections
命令。
show collections
4、插入文档(行)
要插入文档,可以使用insertOne
或insertMany
命令。
// 插入单个文档 db.mycollection.insertOne({name: "张三", age: 30}) // 插入多个文档 db.mycollection.insertMany([{name: "李四", age: 25}, {name: "王五", age: 28}])
mycollection
是要插入文档的集合名称,{name: "张三", age: 30}
是要插入的文档内容。
5、查询文档(行)
要查询文档,可以使用find
命令。
// 查询所有文档 db.mycollection.find() // 查询满足条件的文档(年龄大于等于30的文档) db.mycollection.find({age: {$gte: 30}})
mycollection
是要查询的集合名称,{age: {$gte: 30}}
是查询条件。$gte
表示“大于等于”。
6、更新文档(行)
要更新文档,可以使用updateOne
或updateMany
命令。
// 更新单个文档(将名为“张三”的文档的年龄加1) db.mycollection.updateOne({name: "张三"}, {$inc: {age: 1}}) // 更新多个文档(将年龄大于等于30的文档的年龄减1) db.mycollection.updateMany({age: {$gte: 30}}, {$inc: {age: -1}})
mycollection
是要更新的集合名称,{name: "张三"}
是要更新的文档的条件,{$inc: {age: 1}}
是更新操作(将年龄加1)。
7、删除文档(行)
要删除文档,可以使用deleteOne
或deleteMany
命令。
// 删除单个文档(删除名为“张三”的文档) db.mycollection.deleteOne({name: "张三"}) // 删除多个文档(删除年龄大于等于30的文档) db.mycollection.deleteMany({age: {$gte: 30}})
mycollection
是要删除文档的集合名称,{name: "张三"}
是要删除的文档的条件。
8、保存操作脚本(批处理)
要将上述操作保存为一个操作脚本(批处理),可以将这些命令放入一个JavaScript文件中,然后使用mongo shell执行该文件,创建一个名为mongo_script.js
的文件,内容如下:
use mydb; // 切换到mydb数据库 show collections; // 显示所有集合 insertOne({name: "张三", age: 30}); // 插入一个文档 insertMany([{name: "李四", age: 25}, {name: "王五", age: 28}]); // 插入多个文档 find(); // 查询所有文档 find({age: {$gte: 30}}); // 查询年龄大于等于30的文档 updateOne({name: "张三"}, {$inc: {age: 1}}); // 更新一个文档(将张三的年龄加1) updateMany({age: {$gte: 30}}, {$inc: {age: -1}}); // 更新多个文档(将年龄大于等于30的文档的年龄减1) deleteOne({name: "张三"}); // 删除一个文档(删除张三) deleteMany({age: {$gte: 30}}); // 删除多个文档(删除年龄大于等于30的文档)
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/361515.html