mongodb 中一些常用的操作
2021/10/7 19:14:33
本文主要是介绍mongodb 中一些常用的操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文内容仅记录升级到essay3.0后,数据库升级问题
内容替换
比如一张表中的某个字段,需要对字段中的一些内容进行查找替换,这是就会用到下面的命令
db.getCollection('articles').find({}).forEach(function (item) { item.content = item.content.replace(/(http|https):\/\/api.86886.wang\/public/g, 'https://cdn.86886.wang/blog'); db.getCollection('articles').save(item); })
命令表示把articles表中,所有content字段中,包含http://api.86886.wang/public
和https://api.86886.wang/public
的内容,把他们替换成https://cdn.86886.wang/blog
添加和删除字段
当数据表更新后,避免不了添加一些新字段和删除一些旧字段
// articles 表中添加 isRecommend 字段 db.articles.update({}, {$set: {isRecommend: ''}}, false, true) // articles 表中删除 link 旧字段 db.articles.update({},{$unset: {link: ''}},false, true)
在更新内容时,如果对应值是ObjectId
,插入数据时需要使用ObjectId('asdf')
。
字段重命名
把 created_At 字段替换成 createdAt 字段
db.articles.update({},{$rename : {'created_At' : 'createdAt'}}, false, true)
Double类型转为Number类型
当向数据库中添加Number类型值时,mongodb默认会把他转为Double(双精度),比如你写的是1,在数据库中添加的是1.0,这时可以用NumberInt(number)
把 Double转化为int32类型
备份和导入
mongodump -h 127.0.0.1:27017 -d essay -o Documents/essay-backup # 备份 mongorestore -h 127.0.0.1:27017 -d essay /root/essay-backup/essay # 导入 # 如果是在docker中,可以用容器名字代替ip(如mongodb) mongorestore --host mongodb -d essay --drop ./essay-backup/essay mongo && use essay
数据库设置密码
db.createUser({ user: "admin", pwd: "123456", roles: [ { role: "readWrite", db: "essay_dev" } ] })
注意
以上的所有命令是mongodb自带的命令,因此在默认的命令行下执行而非mongo shell
更多基础内容移步于此
这篇关于mongodb 中一些常用的操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享