ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mongodb 中一些常用的操作

2021-10-07 10:34:11  阅读:246  来源: 互联网

标签:essay articles 常用 wang mongodb db item 操作


本文内容仅记录升级到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/publichttps://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

更多基础内容移步于此

标签:essay,articles,常用,wang,mongodb,db,item,操作
来源: https://www.cnblogs.com/yesyes/p/15375191.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有