MongoDB学习笔记与关键操作详解

需积分: 32 11 下载量 89 浏览量 更新于2024-09-10 收藏 24KB TXT 举报
"mongo学习笔记总结" MongoDB 是一个流行的开源、文档型的分布式数据库系统,以其灵活的数据模型、高性能和高可用性而受到广大开发者喜爱。这篇学习笔记涵盖了MongoDB的基础知识,包括安装配置、数据类型、CRUD操作以及一些高级特性。 1. 安装与配置: MongoDB 的安装可以通过服务方式进行,例如在Windows上,可以使用命令行创建服务: ```bash mongod --dbpath "D:\mongodb\data\db" --logpath "D:\mongodb\log\MongoDB.log" --logappend --install --serviceName "MongoDB" ``` 这行命令会设置MongoDB的数据路径、日志路径,并安装为系统服务。日志追加选项确保了日志文件的连续性,而服务名称用于识别服务。 2. 数据类型: - `null`:表示空值。 - `bool`:布尔值,支持`true`和`false`。 - `NumberLong`:64位整数,适用于大整数,自动转换为字符串格式。 - `String`:使用UTF-8编码的文本字符串。 - `Date`:日期时间类型,记录精确到毫秒的时间。 - `regex`:正则表达式,用于文本搜索。 - `code`:JavaScript代码,可以在数据库内执行。 - `binary`:二进制数据,支持多种子类型。 - `Object` 和 `Array`:JSON对象和数组,允许嵌套数据结构。 - `_id`:每个文档的唯一标识符,通常是自动生成的ObjectId。 3. BSON规范: BSON是MongoDB使用的序列化格式,扩展了JSON,支持更多的数据类型。更多关于BSON的详细信息可参考官方文档:http://bsonspec.org/#/specification。 4. CRUD操作: - `insert`:插入文档,如`db.foo.insert({"bar":"baz"})`将插入一个包含键值对`{bar: "baz"}`的文档。 - `remove`:删除文档,`db.foo.remove()`会删除集合foo内的所有文档,`db.foo.remove({"bar":"baz"})`则只删除匹配条件的文档。 - `update`:更新文档,`update`方法可以设置`upsert`和`multi`参数,分别用于在未找到匹配文档时插入新文档和更新所有匹配的文档。 - `find`:查询文档,可以使用查询条件筛选结果,如`db.users.find({"name": "joe"})`。 5. 更新操作符: - `$inc`:增加或减少数值字段的值,如`{"$inc": {"balance": 100}}`。 - `$set`:设置字段的值,如`{"$set": {"key": "value"}}`。 - `$unset`:删除字段,`{"$unset": {"key": 1}}`。 - `$push`:向数组字段添加一个元素,`{"$push": {"items": item}}`。 - `$pushAll`:向数组字段添加多个元素,`{"$pushAll": ["item1", "item2"]}`。 这些只是MongoDB学习笔记的一部分,深入学习还包括聚合框架、索引、复制集、分片等高级特性。无论是新手还是经验丰富的开发者,都可以通过不断实践和学习来掌握MongoDB的强大功能。