mongodb基础命令

1 数据库

1.1 创建数据库

use xxx

1.2 删除数据库

db.dropDatabase()

2 集合

相当于mysql的table

2.1 创建集合

db.createCollection("集合名称")

2.2 删除集合

db.dropCollection("集合名称")

3 文档

相当于mysql的表记录

3.1 新建文档

db.collectionName.save({json数据})
db.collectionName.insert({json数据})

3.2 查询文档

3.2.1 基本查询

db.collectionName.find({条件})
db.collectionName.find({条件},{field:ifshow})

ifshow控制是否显示字段取值为0或1

3.2.2 and查询

db.collectionName.find({$and:[{条件1},{条件2}])

3.2.3 or查询

db.collectionName.find({$or:[{条件1},{条件2}])

3.2.4 分页查询

db.collectionName.find({条件}).limit(取多少数据).skip(跳过多少)

3.2.5 排序查询,1为正序,-1为倒叙

db.collectionName.find({条件}).sort({fieldName:1})

3.3 更新数据

db.collectionName.update({条件},{更新内容},{可选项})

更新内容如果为纯内容的话直接覆盖

如果为{$set:{内容}}的话为局部更新

如果为{$inc:{内容}}的话为自增

3.4 删除数据

db.collectionName.remove({条件})

4 索引

4.1 创建索引

db.collectionName.createIndex({field:sort,...})

4.2 查询索引

db.collectionName.getIndexes()

4.3 删除索引

db.collectionName.dropIndex(parameter)

parameter::可选索引名称

parameter:可选创建参数

5 查询计划

类比mysql的explain

db.collectionName.find().explain()

 

 

 

<think>好的,用户让我介绍一下MongoDB基础命令。首先,我需要确定用户的背景。可能是一个刚开始学习数据库的新手,或者是有其他数据库经验想转学MongoDB的人。无论哪种情况,用户需要的是基础且实用的命令,帮助他们快速上手。 接下来,我得考虑MongoDB的特点。作为NoSQL数据库,它的文档模型和传统的关系型数据库不同,命令和操作方式也有区别。用户可能需要了解如何连接数据库、基本的CRUD操作,还有一些常用管理命令。 然后,结构要清晰。分点说明比较合适,比如连接数据库数据库操作、集合操作、文档操作、查询、索引、用户权限等。每个部分列出常用命令和示例,这样用户容易查找和理解。 需要注意MongoDB命令通常是在Mongo Shell中执行的,所以示例代码应该用正确的语法,比如使用db.collection.insertOne()这样的方法。同时,要提醒用户注意权限问题,比如需要管理员权限才能执行某些命令。 可能用户会混淆use命令是否真的创建数据库,需要说明MongoDB在插入数据时才创建。另外,权限管理部分对于生产环境很重要,应该包括创建用户和授权的步骤。 还要检查是否有过时的命令,比如ensureIndex已经被createIndex取代,确保提供的信息是最新的。同时,提醒用户在实际应用中使用索引和分片来优化性能,这能帮助他们避免常见问题。 最后,总结一下MongoDB的优势,比如灵活的模式和扩展性,同时建议用户结合具体场景深入学习。这样用户不仅知道命令,还能理解适用场景,提升学习效果。</think>MongoDB 基础命令使用指南(以Mongo Shell为例): 一、数据库连接与基本操作 1. 连接数据库 ```bash mongosh "mongodb://<username>:<password>@<host>:<port>/<database>" # 示例(本地无密码连接): mongosh ``` 2. 数据库操作 ```javascript show dbs // 显示所有数据库 use <database_name> // 切换/创建数据库(实际创建需插入数据) db.dropDatabase() // 删除当前数据库 ``` 二、集合操作 ```javascript show collections // 显示当前数据库所有集合 db.createCollection("users") // 创建集合 db.users.drop() // 删除集合 ``` 三、文档操作(CRUD) 1. 插入文档 ```javascript db.users.insertOne({ name: "张三", age: 25, skills: ["MongoDB", "Node.js"] }) db.products.insertMany([ { name: "手机", price: 2999 }, { name: "耳机", price: 399 } ]) ``` 2. 查询文档 ```javascript db.users.find() // 查询所有 db.users.findOne({ age: 25 }) // 查询单条 db.users.find({ age: { $gt: 20 } }) // 条件查询(age > 20) ``` 3. 更新文档 ```javascript db.users.updateOne( { name: "张三" }, { $set: { age: 26 } } ) db.products.updateMany( { price: { $lt: 1000 } }, { $inc: { price: 100 } } ) ``` 4. 删除文档 ```javascript db.users.deleteOne({ name: "李四" }) db.products.deleteMany({ stock: 0 }) ``` 四、索引管理 ```javascript db.users.createIndex({ email: 1 }, { unique: true }) // 创建唯一索引 db.users.getIndexes() // 查看索引 db.users.dropIndex("email_1") // 删除索引 ``` 五、聚合查询 ```javascript db.orders.aggregate([ { $match: { status: "completed" } }, { $group: { _id: "$product", total: { $sum: "$amount" } }} ]) ``` 六、用户权限管理 ```javascript use admin db.createUser({ user: "admin", pwd: "securepass123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) db.grantRolesToUser("admin", ["readWriteAnyDatabase"]) ``` 七、实用工具命令 ```javascript db.stats() // 数据库统计信息 db.help() // 查看数据库帮助 db.version() // 查看MongoDB版本 // 导出/导入数据(命令行执行) mongodump --db test --out /backup/ mongorestore --db test /backup/test/ ``` 注意事项: 1. 所有写操作默认不立即持久化,重要数据建议使用 `writeConcern` 2. 生产环境必须配置访问控制和认证 3. 使用 `explain()` 分析查询性能: ```javascript db.users.find({ age: { $gt: 25 } }).explain("executionStats") ``` 扩展建议: - 学习使用 `$lookup` 进行集合关联查询 - 掌握分片集群的部署和管理命令 - 了解副本集的维护操作(rs.status(), rs.initiate()等) MongoDB 的优势在于其灵活的文档模型和水平扩展能力,特别适合处理非结构化数据和需要快速迭代的业务场景。建议结合具体的业务需求深入学习其高级特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值