首页 > 代码库 > 关于Mongodb的其他知识
关于Mongodb的其他知识
Mongodb支持全文搜索和地理空间查询。
当前最新的版的Mongdb3.4开始支持创建视图(view)。
Capped collections是大小固定的collection,它们支持基于插入顺序插入和检索文档的高吞吐量操作。 覆盖的集合以类似于循环缓冲区的方式工作:一旦集合填充其分配的空间,它将通过覆盖集合中最旧的文档来为新文档腾出空间。
db.createCollection(name, options)方法:
因为MongoDB在集合首次在命令中引用时隐式创建集合,所以此方法主要用于创建使用特定选项的新集合。 例如,您使用db.createCollection()创建一个Capped collections,或者创建一个使用文档验证的新集合。 db.createCollection()也用于为普通集合预分配空间。
- db.createCollection(<name>, { capped: <boolean>,
- autoIndexId: <boolean>,
- size: <number>,
- max: <number>,
- storageEngine: <document>,
- validator: <document>,
- validationLevel: <string>,
- validationAction: <string>,
- indexOptionDefaults: <document>,
- viewOn: <string>,
- pipeline: <pipeline>,
- collation: <document> } )
capped:是否Capped collections。
size:可选的。 为Capped collections指定最大大小(以字节为单位)。 一旦限制集合达到其最大大小,MongoDB将删除较旧的文档,为新文档腾出空间。 size字段是封顶集合所必需的,而对于其他集合则被忽略。
max: 可选的。 Capped collections中允许的最大文档数。 Size限制优先于此限制。 如果上限集合达到最大数量的文档之前达到Size限制,MongoDB将删除旧文档。 如果您希望使用最大限制,请确保限制集合所需的大小限制足以包含最大数量的文档。
validator: 可选的。 允许用户为集合指定验证规则或表达式。版本3.2中的新功能。
读隔离(New in version 3.2.):
readConcern: { level: <"majority"|"local"|"linearizable"> }
readConcern选项可用于以下操作:
- find command
- aggregate command and the db.collection.aggregate() method
- distinct command
- count command
- parallelCollectionScan command
- geoNear command
- geoSearch command
用于副本集和副本集分片的readConcern查询选项确定从查询返回哪些数据。
readConcern级别:
"local":默认。 该查询返回实例的最新数据。 不保证数据已写入大多数副本集成员(即可以回滚)。
"majority":该查询会将实例的最新数据确认为已写入副本集中的大多数成员。要使用majority级别,您必须使用--enableMajorityReadConcern命令行选项启动mongod实例(如果使用配置文件,则将replication.enableMajorityReadConcern设置为true)。
"linearizable"(add in version3.4):该查询返回反映所有成功写入的数据。
关于Mongodb的其他知识