是否有方法使用Mongoid确定MongoDB中模型/文档的特定实例的大小?
答案 0 :(得分:7)
因此,您可以按照评论(BSON.serialize(Model.first.as_document).size
)中的说明获得文档的理论大小。
但是,应该注意的是,这可能不是对象的实际大小"在磁盘上#34;。 MongoDB会自动为新文档添加缓冲区,以允许它们就地增长。当谈到在一个特定文档的磁盘上获取实际大小时,我不相信这是可能的。
但是,您可以使用db.collection_name.stats()
获得平均缓冲区。
答案 1 :(得分:5)
2015年和mongoid(4.0.2)的解决方案:
$ionicModal.fromTemplateUrl('templates/login.html', {
scope: $scope
}).then(function(modal) {
$scope.modal = modal;
});
答案 2 :(得分:0)
这适用于Mongoid 3.1.0:
model.as_document.__bson_dump__.size
答案 3 :(得分:-1)
对于mongoid 3.x,您可以使用Moped :: BSON :: Document
例如:
your_document = Model.find(id)
# get size
size = Moped::BSON::Document.serialize(your_document.as_document).size
答案 4 :(得分:-1)
为MongoID 5.x工作。使用mongo shell和MongoID非常简单:
拿起您的对象ID
var express = require('express');
var debug = require('debug')('untitled1:server');
var http = require('http');
var app = express();
var router = express.Router();
app.use('/API',router);
app.route('/book').get(function(req, res) {
res.render('./index');
});
var server = http.createServer(app);
server.listen('3000');
server.on('error', onError);
server.on('listening', onListening);
运行mongo console
ModelName.first.id # then copy your_id
获取文档的大小(以字节为单位)
mongo