mongodb 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. mongoose:
  2. 删除子文档:collection.update({ 'students.stuid': id }, { $pull: { students: { id } } });
  3. 删除多条:collection.deleteMany();
  4. 查找+修改:collection.findAndUpdate({condition},{$set:{column:value,...}})
  5. 某字段值超过几位:collection.find({ $where: 'this.[column].length>x' })
  6. 模糊查找:collection.find({name:/刘睿峰/})
  7. rabbitMq:
  8. direct:只推送到key一直的交换机上
  9. fanout:广播式,所有的交换机都有
  10. topic:订阅key的消费者都有
  11. queue:队列,先到先得,1个消费者只能取1个
  12. 导出:mongoexport -d platform -c user -o d:/cms_user.json --type json
  13. 导入:mongoimport --db auth --collection menu --file ./menu.json
  14. 备份:
  15. #!/bin/bash
  16. #backup MongoDB
  17. #mongodump命令路径
  18. DUMP=/usr/local/mongodb/backup/mongodump
  19. #临时备份目录
  20. OUT_DIR=/usr/local/mongodb/backup/mongodb_bak/mongodb_bak_now
  21. #备份存放路径
  22. TAR_DIR=/usr/local/mongodb/backup/mongodb_bak/mongodb_bak_list
  23. #获取当前系统时间
  24. DATE=`date +%Y_%m_%d`
  25. #数据库账号
  26. DB_USER=admin
  27. #数据库密码
  28. DB_PASS=admin
  29. #DAYS=15代表删除15天前的备份,即只保留近15天的备份
  30. DAYS=15
  31. #最终保存的数据库备份文件
  32. TAR_BAK="mongodb_bak_$DATE.tar.gz"
  33. cd $OUT_DIR
  34. rm -rf $OUT_DIR/*
  35. mkdir -p $OUT_DIR/$DATE
  36. #备份全部数据库
  37. $DUMP -d train -o $OUT_DIR/$DATE
  38. #压缩为.tar.gz格式
  39. tar -zcPvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
  40. #删除15天前的备份文件
  41. find $TAR_DIR/ -mtime +$DAYS -delete
  42. #执行上传
  43. $TAR_DIR/tosync.sh -a $TAR_BAK -b $DATE -c $TAR_DIR
  44. exit
  45. 上传服务器:
  46. #!/bin/bash
  47. #backup 同步服务器
  48. while getopts ":a:b:c:" opt
  49. do
  50. case $opt in
  51. a)
  52. FILE=$OPTARG
  53. echo "参数a的值$OPTARG"
  54. echo $FILE
  55. ;;
  56. b)
  57. DATE=$OPTARG
  58. echo "参数b的值$OPTARG"
  59. echo $DATE
  60. ;;
  61. c)
  62. DIR=$OPTARG
  63. echo "参数c的值$OPTARG"
  64. echo $DIR
  65. ;;
  66. ?)
  67. echo "未知参数"
  68. exit 1;;
  69. esac
  70. done
  71. cd $DIR
  72. git add $FILE
  73. git commit -m "$DATE"
  74. git remote set-url origin http://lrf402788946:lrf1327542758@git.cc-lotus.info/new_train/dataBase.git
  75. git push
  76. exit