MongoDB基本操作记录

发布时间 2023-05-28 10:01:27作者: sjmuvx

MongoDB基本操作记录

连接Mongo:mongo --host 127.0.0.1 --port 27017 -u root -p 123456

显示数据库列表:show dbs

选择数据库:use CX_tb

显示所有表名:db.getCollectionNames()

删表:db.xxx.drop()

显示帮助:db.xxx.help()

插入一条数据:db.xxx.insert({"id" : "1", "add_time" : "2023-05-28"})

删除数据:db.xxx.remove({"add_time" : "2023-05-28"}, {justOne : false})。如果只想删除第一条匹配的数据,将justOne置为true即可。

显示一条数据:db.xxx.findOne()

显示20条数据:db.xxx.find()

显示索引:db.xxx.getIndexes()

创建索引:db.xxx.createIndex({"id" : 1, "add_time" : -1})

删除索引:db.xxx.dropIndex({"id" : 1, "add_time" : -1})

带过滤条件的显示数据:db.spider.find({"addtime" : { "$gte" : ISODate("2022-11-09T03:41:01Z"), "$lt" : ISODate("2022-11-10T02:41:01Z") }})

统计数量:db.xxx.count()

Explain:db.xxx.explain("queryPlanner").find({"id":"4"}).sort({"col1": -1, "col2": -1})

最大值/最小值:db.xxx.find({}).sort({"_id":-1}).limit(1)。-1表示降序,1表示升序。

数据导出:

  • mongodump --forceTableScan --db CX_tb --collection xxx --archive="xxx.archive" 。会保留索引数据;如果备份的数据大于系统内存,备份时容易出现错误。
  • mongoexport --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin -d CX_tb -c xxx -q '{"_id": {"$gte":"000000", "$lt": "100000"}}' -o ~/data/xxx1.json。不会保留索引,所以恢复的时候需要建立索引;导出数据量过大时,可以通过这种方式分批导出。

数据导入:

  • mongorestore --archive="xxx.archive" --nsFrom='CX_tb.xxx' --nsTo='CX_tb.xxx'
  • mongoimport --db CX_tb --collection xxx --file ~/data/xxx1.json