在mongo上限集合上设置最大值

时间:2012-11-08 16:50:44

标签: mongodb

我有一个现有的集合,我需要使用列出的方法转换为Capped Collection

> db.runCommand({"convertToCapped": "mycoll", size: 100000});

但是,不接受最大字段作为参数

> db.mycol1.convertToCapped
function (bytes) {
    if (!bytes) {
        throw "have to specify # of bytes";
    }
    return this._dbCommand({convertToCapped: this._shortName, size: bytes});
}

知道怎么设置这个吗?

1 个答案:

答案 0 :(得分:7)

max只是createCollection方法中的一个选项,而不是convertToCapped:

db.createCollection("mycoll", {capped:true, size:100000, max:100});

有一个cloneCollectionAsCapped,但它看起来不像那里有一个max doc选项:http://docs.mongodb.org/manual/reference/command/cloneCollectionAsCapped/

您可能需要使用max参数创建新的上限集合,并从现有集合中传输数据和索引。见http://learnmongo.com/posts/easily-move-documents-between-collections-or-databases/