zoukankan      html  css  js  c++  java
  • 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/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

    更多基础内容移步于此

  • 相关阅读:
    create_pascal_tf_record.py 生成的record一直为0字节
    移植别人的vcpkg包到自己的项目
    评价目标检测(object detection)模型的参数:IOU,AP,mAP
    python 当文件目录不存在时,如何自动创建
    Spring validator常用注解
    @Slf4j的使用
    spring @Validated 注解开发中使用group分组校验
    @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常==》记录
    idea 创建各种类型项目(pom,jar.web)
    Linux下RabbitMQ服务器搭建
  • 原文地址:https://www.cnblogs.com/yesyes/p/15375191.html
Copyright © 2011-2022 走看看