主题
MongoDB 集合和索引
数据库
js
show dbs
use app_db
dbMongoDB 会在首次写入数据时创建数据库。
删除当前数据库:
js
db.dropDatabase()集合
js
show collections
db.createCollection('users')
db.users.drop()MongoDB 可以隐式创建集合:
js
db.users.insertOne({ name: 'Tom' })文档结构
js
{
_id: ObjectId('...'),
name: 'Tom',
email: 'tom@example.com',
age: 18,
roles: ['user'],
profile: {
city: 'Shanghai'
},
createdAt: ISODate('2026-01-01T00:00:00Z')
}常见类型:
StringNumberBooleanDateObjectIdArrayObject
索引
js
db.users.createIndex({ email: 1 }, { unique: true })
db.users.createIndex({ age: 1, createdAt: -1 })
db.users.getIndexes()
db.users.dropIndex('email_1')排序规则:
1:升序。-1:降序。
执行计划
js
db.users.find({ email: 'tom@example.com' }).explain('executionStats')重点关注是否走索引、扫描文档数量和返回文档数量。
