existe-t-il une méthode pour déterminer la taille d'une instance spécifique d'un modèle / document dans un MongoDB à l'aide de Mongoid? P>
5 Réponses :
Vous pouvez donc obtenir la taille théorique du document comme illustré dans votre commentaire ( Cependant, il convient de noter que cela peut ne pas être la taille réelle de l'objet "sur disque". MongoDB ajoutera automatiquement un tampon à de nouveaux documents pour leur permettre de se développer en place. Quand il s'agit d'obtenir la taille réelle sur le disque pour un document spécifique, je ne crois pas que cela soit possible. P>
Cependant, vous pouvez obtenir un tampon moyen en utilisant bson.serialize (modèle.first.as_document) .Size code>). p>
db.collection_name.stats () code>. p>
Ceci fonctionne pour Mongoid 3.1.0:
model.as_document.__bson_dump__.size
Pour mongoïde 3.x, vous pouvez utiliser Moped :: BSON :: Document
Par exemple: P>
your_document = Model.find(id) # get size size = Moped::BSON::Document.serialize(your_document.as_document).size
solution pour 2015 et mongoïde (4.0.2):
Travailler pour Mongoid 5.x. Avec la coquille Mongo et le Mongoïde est simple: P>
Ramassez votre identifiant d'objet p>
exécuter la console de Mongo p>
Obtenez la taille en octets du document P>
modèleName.first.id # puis copiez votre_id code> p> li>
mongo code> p> li>
objet.bsonsoniser (db.modelname.find ({"_ id": objecid ("your_id")})) code> p> l> l>
ol>
Ce n'est pas ce dont il parle. Mongoid est un orme rubis pour MongoDB.
J'ai effectivement compris une solution pour obtenir le nombre d'octets d'un document spécifique:
bson.serialize (modèle.first.as_document) .Size code>