2011-10-26 7 views
2

Je travaille sur un projet simple. J'utilise SpringData et MongoDB.Comment créer une collection avec des données Spring Spring? - MongoDB

Tout est parfait en créant des collections normales, mais maintenant je dois enregistrer des informations, je veux dire une fonctionnalité de journalisation.

Je lu dans la documentation mongo:

collections plafonnés fournissent un moyen de haute performance pour le stockage documents d'exploitation dans la base de données. L'insertion d'objets dans une collection non indexée sera proche de la vitesse de connexion à un système de fichiers . En outre, avec le mécanisme FIFO intégré, vous êtes sans risque d'utiliser un espace disque excessif pour la journalisation.

Je pensais bien! c'est ce dont j'ai besoin, mais j'ai un doute. Est-il possible de créer ce genre de collections avec SpringData ??? Je n'ai rien trouvé dans la documentation de SpringData.

Quelqu'un sait quelque chose à ce sujet?

Merci

Répondre

5

Il y a une méthode createCollection(…) prenant un argument CollectionOptions où vous pouvez spécifier une collection à plafonnés:

// The 'true' is setting it to capped 
CollectionOptions options = new CollectionOptions(null, 50, true); 
mongoOperations.createCollection("myCollection", options); 

pourrait être une bonne idée d'avoir ces options exposées à l'annotation @Document à automatiquement prenez soin d'eux lors de la construction du contexte de mappage, mais nous avons généralement reçu les commentaires des personnes voulant gérer manuellement les opérations de configuration et d'indexation de collection sans trop de comportement automagique. N'hésitez pas à ouvrir un JIRA au cas où vous aimeriez voir cela soutenu néanmoins.

+0

Merci pour votre réponse rapide. – KCOtzen

0

Si vous avez la collection créée par printemps-données (par exemple: reservation), vous pouvez facilement le convertir en plafonnée, comme si:

db.runCommand({ convertToCapped: 'reservation', size: 9128 }) 

lecture manuelle de MongoDB: https://docs.mongodb.com/manual/reference/command/convertToCapped/

ps: @Tailable l'annotation est très sexy, elle peut vous aider à suivre les mises à jour de cette collection et à y réagir en utilisant les principes de programmation réactive

Questions connexes