MongoDb可以创建固定大小的集合,当集合中的JSON对象达到最大值的时候,会自动进行覆盖,最先进来的文档会被优先覆盖,只保留固定大小的条数。
capped类型的文档必须手动创建
db.createCollection("cappedtest",{capped:true,size:10,max:2});
创建一个文档数量为2条的固定大小集合,名字为cappedtest
往里面插入文档
> db.cappedtest.insert({"name":"chenhua"}); WriteResult({ "nInserted" : 1 }) > db.cappedtest.insert({"name":"chenhua2"}); WriteResult({ "nInserted" : 1 }) > db.cappedtest.insert({"name":"chenhua3"}); WriteResult({ "nInserted" : 1 }) > db.cappedtest.insert({"name":"chenhua4"}); WriteResult({ "nInserted" : 1 }) > db.cappedtest.insert({"name":"chenhua5"}); WriteResult({ "nInserted" : 1 }) > db.cappedtest.insert({"name":"chenhua6"}); WriteResult({ "nInserted" : 1 })
查看记录:
> db.cappedtest.find(); { "_id" : ObjectId("5469a8cf2fe46cc53e0d5d6c"), "name" : "chenhua5" } { "_id" : ObjectId("5469a8d22fe46cc53e0d5d6d"), "name" : "chenhua6" } > db.cappedtest.insert({"name":"chenhua7"}); WriteResult({ "nInserted" : 1 }) > db.cappedtest.find(); { "_id" : ObjectId("5469a8d22fe46cc53e0d5d6d"), "name" : "chenhua6" } { "_id" : ObjectId("5469a8e72fe46cc53e0d5d6e"), "name" : "chenhua7" }
相关推荐
MongoDB的固定集合(Capped Collections)是一种特殊类型的集合,设计用于高效地存储有固定大小限制的数据,类似于一个循环缓冲区。固定集合的主要特点是它的大小是固定的,一旦达到上限,新的插入操作会覆盖最早的...
在MongoDB中,固定集合(capped collection)是一种特殊类型的集合,具有固定大小和自动溢出处理机制。当固定集合达到其容量时,新插入的文档会替换最旧的文档,确保集合始终保持在设定的大小内。 1. 创建固定集合...
固定集合可以声明collection的容量大小,其行为类似于循环队列。数据插入时,新文档会被插入到队列的末尾,如果队列已经被占满,那么最老的文档会被之后插入的文档覆盖。 固定集合特性:固定集合很像环形队列,如果...
MongoDB 还提供了一种特殊的集合类型——“固定大小集合”(Capped Collections),用于实现高性能的队列功能。Capped Collections 有固定的存储容量,一旦达到上限,新插入的数据会替换最旧的数据,保持集合的大小...
这段代码会创建一个上限为1MB且最多存储10000个文档的固定大小(capped)集合。 6. 关闭连接 当完成数据库操作后,别忘了关闭连接: ```java mongoClient.close(); ``` 7. 错误处理 在示例代码中,我们使用了异常...
集合可以通过 `db.createCollection(name, options)` 创建,其中`options`可以包含`size`(预分配空间)、`capped`(是否为固定大小的集合)和`max`(固定集合的最大文档数)等。 4. **删除集合**: `db.mycoll....
封顶集合特别适用于日志记录或缓存,因为它们能保持固定大小并自动管理过时数据。 总结来说,MongoDB中的集合管理涉及`createCollection()`和`drop()`两个关键操作,它们提供了灵活的数据存储和清理机制。理解并...
固定集合有着固定的大小限制,并且按照先进先出的顺序来添加和移除数据项。这种方式适合于记录日志、消息队列等场景。 MongoDB作为一个非关系型数据库,具有极高的灵活性和可扩展性。它使用JSON风格的文档,支持...
固定集合有固定的大小,当达到最大值时,它会自动覆盖最早的文档。 - `autoIndexId`: 如果为 `true`,MongoDB 自动在 `_id` 字段创建索引。默认值为 `false`,但官方已不建议使用此选项。 - `size`: 为固定集合指定...
MongoDB采用NoSQL数据模型,它不同于传统的关系型数据库,如MySQL或Oracle,后者依赖于固定的表结构和行列式数据存储。MongoDB使用文档(BSON格式,一种JSON的扩展)作为数据存储单元,这些文档可以包含嵌套的数据...
集合是文档的集合,不预设固定的结构,允许动态扩展。数据库则是一组集合的容器,提供了命名空间和权限管理。 在MongoDB中,插入、查询、更新和删除操作(通常简称为CRUD操作)非常直观。例如,你可以使用`db....
- 如果需要创建固定大小的集合(即capped collection),可以使用以下格式: ```javascript db.createCollection( "collection_name", {capped: true, size: 1000000, max: 10000} ) ``` - 其中`capped`为...
- 数据文件以固定的大小递增,最大不超过2GB。 - 索引文件用于加速查询操作,存储有关集合的信息。 **2.2 内存管理** - **MMAP映射机制:** - MongoDB利用MMAP映射文件到虚拟内存,再映射到物理内存。 - 这种...
2. **模式自由**:与关系数据库相比,MongoDB没有固定的表结构,允许文档具有不同的字段,增加了数据模型的灵活性。 3. **支持动态查询**:MongoDB提供了一种强大的查询语言,类似于面向对象的语言,能够执行复杂的...
固定集合是一种特殊的集合,其大小是固定的,一旦达到最大大小,新的插入将覆盖旧的数据。创建固定集合的代码如下: ```java List<IndexModel> indexes = Arrays.asList( new IndexModel(BsonDocument.parse("{_id...
首先,限定集是MongoDB中一种特殊的集合类型,它有一个固定大小的存储空间,当数据存储超过这个空间限制时,新插入的数据将会覆盖最旧的数据。这种集合特别适合需要维护插入顺序和高效读写性能的场景,例如日志系统...
- **options**: 可选参数,用于指定集合的特定属性,如是否为固定集合、集合的大小限制等。 ##### 实例 创建一个名为 `runoob` 的集合: ```plaintext db.createCollection("runoob") ``` 为了验证集合是否存在,...
2. CappedCollection集合:特殊的集合类型,适用于固定大小的数据存储和高性能的需求。 3. 海量存储机制:MongoDB如何处理大规模数据的存储。 4. MapReduce编程模型:用于处理大规模数据集的并行算法模型。 5. 优化...
创建集合可以使用`db.createCollection("collName", {size: 20, capped: 5, max: 100})`,其中size指定文件大小,capped表示是否为固定大小集合,max则是固定集合的最大文档数量。`db.getCollection("account")`获取...