MongoDB数据库基础操作指南

需积分: 3 5 下载量 54 浏览量 更新于2024-07-19 收藏 2.04MB PPTX 举报
"MongoDB数据库教程,适合初学者,包括基础操作,快速上手,实例教学。" MongoDB是一种流行的开源NoSQL数据库系统,以其灵活性、高性能和易用性而受到广泛欢迎。它采用文档型数据模型,以JSON格式的文档存储数据,这使得数据处理更加直观,特别适合处理半结构化和非结构化数据。 ### 1. 插入文档 MongoDB提供了插入单个和批量文档的方法。对于单个文档插入,可以使用`insert()`方法,例如: ```javascript db.[documentName].insert({}) ``` 批量插入时,直接在shell中使用`insert()`方法并传递一个文档数组是不被支持的。你可以使用应用驱动或在shell中通过`for`循环来实现批量插入。 ### 2. Save操作 `save()`方法与`insert()`类似,但当遇到已存在的`_id`时,`save()`会更新文档,而`insert()`则会抛出错误。如果希望更新已存在的文档,应使用`save()`。 ### 3. 删除文档 - **删除所有数据**:使用`remove()`方法不带参数即可删除集合中的所有文档,但不会删除集合本身或其索引。 ```javascript db.[documentName].remove() ``` - **条件删除**:根据特定条件删除文档,如删除`name`字段等于`uspcat`的所有记录: ```javascript db.[documentName].remove({name: "uspcat"}) ``` - **效率优化**:若要高效清除大量数据,可删除集合后再重建,这通常比使用`remove()`更快。 ### 4. 更新文档 - **替换式更新**:`update()`方法用于替换文档,新文档完全替换旧文档。如果发生`_id`冲突,将报错并停止更新。 ```javascript db.[documentName].update({查询器},{修改器}) ``` - **insertOrUpdate**操作:当查询器找到数据时执行更新,否则插入新文档。需设置第三个参数为`true`。 ```javascript db.[documentName].update({查询器},{修改器},true) ``` - **批量更新**:默认情况下,`update()`仅更新匹配的第一个文档。要批量更新,设置第三个参数为`false`,第四个参数为`true`。 ```javascript db.[documentName].update({查询器},{修改器},false,true) ``` - **局部更新**:使用修改器如`$set`, `$inc`等进行部分更新。它们位于查询器内部,用于指定要修改的字段。 ### 5. 数组更新 - **$addToSet**与`$each`配合:将数组中的每个元素添加到目标文档的数组字段中,避免重复。 ```javascript db.text.update({_id:1000}, {$addToSet: {books: {$each: ["JS", "DB"]}}}) ``` 这些只是MongoDB基本操作的一部分。在实际使用中,还会涉及到查询、聚合、索引、复制集、分片等高级特性。学习MongoDB不仅需要理解这些基本操作,还需要熟悉其灵活性和动态扩展能力,以便在各种场景下充分利用其优势。