连接数据库:
mongo [hostname]:[port]/[database]
示例:连接本地的test数据库
mongo localhost:27017/test
切换数据库:
use [database]
示例:切换到名为mydb的数据库
use mydb
退出 MongoDB Shell:
exit
显示所有数据库:
show dbs
创建数据库(在插入数据时会自动创建):
db
删除数据库:
db.dropDatabase()
显示当前数据库中所有集合:
show collections
创建集合(同理,在插入文档时会自动创建):
db.createCollection("mycollection")
删除集合:
db.mycollection.drop()
插入文档:
db.mycollection.insertOne({ "name": "John", "age": 30 })
查询文档:
db.mycollection.find() // 查询所有文档
db.mycollection.find({"name": "John"}) // 条件查询
更新文档:
db.mycollection.updateOne({ "name": "John" }, { $set: { "age": 31 } }) // 更新第一条匹配文档
替换文档:
db.mycollection.replaceOne({ "name": "John" }, { "name": "John", "age": 32, "job": "Engineer" })
删除文档:
db.mycollection.deleteOne({ "name": "John" }) // 删除第一条匹配文档
创建索引:
db.mycollection.createIndex({ "name": 1 }) // 创建升序索引
查看索引:
db.mycollection.getIndexes()
当然,以下是更全面的MongoDB命令分类:
插入文档:
db.collection.insertOne(doc) // 插入单个文档
db.collection.insertMany(docs) // 插入多个文档
示例:
db.users.insertOne({ name: "John", age: 30, occupation: "Engineer" })
更新文档:
db.collection.updateOne(filter, update, options)
db.collection.updateMany(filter, update, options)
示例(递增age):
db.users.updateOne({ name: "John" }, { $inc: { age: 1 } })
(使用upsert选项,如果不存在则插入新文档):
db.users.updateOne({ name: "Jane" }, { $set: { name: "Jane", age: 25 } }, { upsert: true })
替换文档:
db.collection.replaceOne(filter, replacement, options)
示例:
db.users.replaceOne({ name: "John" }, { name: "John Doe", age: 31, occupation: "Manager" })
删除文档:
db.collection.deleteOne(filter, options)
db.collection.deleteMany(filter, options)
示例:
db.users.deleteOne({ name: "John Doe" })
查询文档:
db.collection.find(filter, projection)
示例(查询所有用户):
db.users.find({})
(查询特定用户并仅返回name字段):
db.users.find({ name: "John Doe" }, { name: 1, _id: 0 })
排序和分页:
db.collection.find().sort(sort).skip(numToSkip).limit(numToReturn)
示例(按年龄降序获取前10名用户):
db.users.find().sort({ age: -1 }).limit(10)
创建索引:
db.collection.createIndex(keys, options)
示例(为name字段创建升序索引):
db.users.createIndex({ name: 1 })
(为多个字段创建复合索引):
db.users.createIndex({ name: 1, age: -1 })
列出索引:
db.collection.getIndexes()
示例:
db.users.getIndexes()
删除索引:
db.collection.dropIndex(indexName)
db.collection.dropIndexes()
示例(删除名为"name_1"的索引):
db.users.dropIndex("name_1")
统计文档数量:
db.collection.countDocuments(filter)
示例:
db.users.countDocuments({})
查看集合状态:
db.collection.stats()
示例:
db.users.stats()
此外还有复制集、分片集群、用户权限管理、事务处理等高级功能的命令,由于篇幅原因在此不展开详细列举。建议参考官方文档以获取完整信息:https://docs.mongodb.com/manual/
python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)
50个开发必备的Python经典脚本(41-50)
————————————————
?最后我们放松一下眼睛