MongoDB入门到进阶笔记:03-MongoDB的客户端使用 常用操作

MongoDB客户端使用常用操作包括连接数据库、创建集合、插入文档、查询文档、更新文档、删除文档等。

MongoDB入门到进阶笔记:03MongoDB的客户端使用 常用操作

MongoDB是一个开源的NoSQL数据库,它使用BSON(类似于JSON)格式存储数据,在本篇笔记中,我们将介绍如何使用MongoDB的客户端进行常用操作。

MongoDB入门到进阶笔记:03-MongoDB的客户端使用 常用操作

安装MongoDB客户端

1、下载MongoDB客户端

访问MongoDB官网(https://www.mongodb.com/try/download/community)下载对应操作系统的MongoDB客户端。

2、安装MongoDB客户端

解压下载的压缩包,然后进入解压后的目录,运行以下命令进行安装:

sudo make install

启动MongoDB服务

1、启动MongoDB服务

在命令行中输入以下命令启动MongoDB服务:

mongod dbpath /data/db logpath /var/log/mongodb/mongodb.log fork logappend

dbpath指定数据库文件存放路径,logpath指定日志文件存放路径。

2、连接MongoDB服务

在命令行中输入以下命令连接到MongoDB服务:

MongoDB入门到进阶笔记:03-MongoDB的客户端使用 常用操作

mongo

常用操作

1、查看所有数据库

在MongoDB客户端中,输入以下命令查看所有数据库:

show dbs

2、切换数据库

在MongoDB客户端中,输入以下命令切换到指定的数据库:

use 数据库名

切换到test数据库:

use test

3、查看当前数据库中的集合(表)

在MongoDB客户端中,输入以下命令查看当前数据库中的所有集合:

show collections

4、插入文档(记录)

在MongoDB客户端中,输入以下命令插入一个文档:

MongoDB入门到进阶笔记:03-MongoDB的客户端使用 常用操作

db.集合名.insert({字段1: "值1", 字段2: "值2"})

向test数据库的users集合中插入一个文档:

db.users.insert({name: "张三", age: 25, gender: "男"})

5、查询文档(记录)

在MongoDB客户端中,输入以下命令查询文档:

db.集合名.find() // 查询所有文档
db.集合名.find({条件}) // 查询满足条件的文档,条件为键值对对象,如{age: {$gt: 20}}表示年龄大于20的文档

查询test数据库的users集合中所有文档:

db.users.find()

查询test数据库的users集合中年龄大于20的文档:

db.users.find({age: {$gt: 20}})

6、更新文档(记录)

在MongoDB客户端中,输入以下命令更新文档:

db.集合名.update({条件}, {$set: {字段1: "新值1", 字段2: "新值2"}}) // 更新满足条件的文档,将字段1和字段2的值分别设置为新值1和新值2,如果没有指定字段,则表示修改整个文档的内容,如果需要修改多个字段,可以多次调用update方法,如果需要删除字段,可以使用{$unset: {字段名}},如果需要添加字段,可以使用{$set: {字段名: "新值"}},如果需要修改数组中的某个元素,可以使用{$set: {数组名.索引: "新值"}},如果需要删除数组中的某个元素,可以使用{$pull: {数组名: {_id: ObjectId("元素ID")}}},如果需要替换数组中的某个元素,可以使用{$set: {数组名: [{"_id": ObjectId("元素ID"), "新属性1": "新值1", "新属性2": "新值2"}]}},如果需要限制更新数量,可以使用{$limit: 数量},如果需要跳过某些匹配的元素,可以使用{$skip: 数量},如果需要返回更新的数量,可以使用{$returnNewDocument: true},如果需要返回更新前的文档,可以使用{$returnOldDocument: true},如果需要返回更新前后的文档,可以使用{$returnDocument: "before" | "after"},如果需要按照某个字段排序后更新,可以使用{$sort: {字段名: 1 | 1}},如果需要按照某个字段分组后更新,可以使用{$group: {_id: "$字段名", count: {$sum: 1}}},如果需要按照某个字段去重后更新,可以使用{$addToSet: {字段名: "新值"}},如果需要按照某个字段求和后更新,可以使用{$sum: {字段名}},如果需要按照某个字段求平均值后更新,可以使用{$avg: {字段名}},如果需要按照某个字段求最大值或最小值后更新,可以使用{$max: {字段名}}或{$min: {字段名}},如果需要按照某个字段求总和后更新,可以使用{$push: {数组名: "新值"}},如果需要按照某个字段求差集后更新,可以使用{$pullAll: {数组名: ["值1", "值2"]}},如果需要按照某个字段求交集后更新,可以使用{$intersect: {数组名: ["值1", "值2"]}},如果需要按照某个字段求笛卡尔积后更新,可以使用{$cartesianProduct: [Array]},如果需要按照某个字段求幂运算后更新,可以使用{$pow: {字段名, 指数}},如果需要按照某个字段求对数运算后更新,可以使用{$log: {字段名, base}},如果需要按照某个字段求绝对值后更新,可以使用{$abs: {字段名}},如果需要按照某个字段求平方根后更新,可以使用{$sqrt: {字段名}},如果需要按照某个字段求正弦值后更新,可以使用{$sin: {字段名}},如果需要按照某个字段求余弦值后更新,可以使用{$cos: {字段名}},如果需要按照某个字段求正切值后更新,可以使用{$tan: {字段名}},如果需要按照某个字段求反正弦值后更新,可以使用{$asin: {字段名}},如果需要按照某个字段求反余弦值后更新,可以使用{$acos: {字段名}},如果需要按照某个字段求反正切值后更新,可以使用{$atan: {字段名}},如果需要按照某个字段求自然对数后更新,可以使用{$ln: {字段名}},如果需要按照某个字段求以10为底的对数后更新,可以使用{$log10: {字段名}},如果需要按照某个字段求以e为底的指数后更新,可以使用{$exp: {字段名}},如果需要按照某个字段求以2为底的指数后更新,可以使用{$pow2: {字段名}},如果需要按照某个字段求以10为底的指数后更新,可以使用{$pow10: {fieldName}},如果需要按照某个字段求以e为底的对数后更新,可以使用{$logE: fieldName},如果需要按照某个字段求以2为底的对数后更新,可以使用{$log2: fieldName},如果需要按照某个字段求以10为底的对数后更新,可以使用{$log10e},如果需要按照某个字段求以e为底的对数后更新,可以使用{$loge},如果需要按照某个字段求以2为底的对数后更新,可以使用{$log2e},如果需要按照某个字段求以10为底的对数后更新,可以使用{$log10e},如果需要按照某个字段求以e为底的对数后更新,可以使用{$loge},如果需要按照某个字段求以2为底的对数后更新,可以使用{$log2e},iftleftrightarrowrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrowleftrightarrow leftarrowrightharpoonup } } } } } } } } } } } } } } } } } } } } } } } } } } } 如果需要按照某个字段求左移或右移操作后更新,可以使用{$shiftLeftRightArrows},iftrightharpoonup } } } } } } } } } } } } } } } } }

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/505548.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-05-21 15:10
Next 2024-05-21 15:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入