我有一个现有的集合,我需要使用列出的方法转换为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});
}
知道怎么设置这个吗?
答案 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/