今天做项目的时候遇到了要对数据加字段的操作。了解了下MongoDB的更新操作。记下来方便日后查阅。
* [`db.collection.updateOne(<filter>, <update>, <options>)`]
* [`db.collection.updateMany(<filter>, <update>, <options>)`]
第一个参数是筛选条件,对字符串的匹配支持正则表达式,还有 $or
,$gt
等操作符可以使用。要对有“hello”字符串的document增加字段:
db.collection.updateMany({"proname": /hello/i}, {$set: {proapp: "hello"}})
这样proname
中带有“hello”的都会被被加上属性proapp
且值为"hello"。
数据导入
使用 mongoimport.exe
和 mongorestore.exe
。在 MongoDB 的 bin 目录下,且不要使用 git bash,会出现命令不存在。使用 cmd 最佳。
linux下可以使用:
mongorestore -d <db_name> <bson_folder>
windows下可以使用:
mongorestore.exe -d <db_name> <bson_folder>
数据库导出
mongodump -h 127.0.0.1 -d wowo -o C:\wowoData
如果 mongodump
无法使用,可以使用 mongoexport
:
mongoexport -h 127.0.0.1 -d design -c proapps -o C:\designData.bson
mongoexport 导出时必须指定 collection 名。可以参考 mongoexport --help
。
-d 是数据库名, -o 是数据存放地址