2010-12-22 6 views
3

J'utilise la pile d'applications en cours:Comment puis-je stocker des images dans mongodb avec node.js?

Node.js, MongoDB, express (pour Node.js), et mangouste (pour Node.js ... me donne ORM capacités)

Je m'habitue à tout et je travaille régulièrement avec les trucs CRUD. Cependant, je n'arrive pas à comprendre comment stocker des trucs binaires/gridfs/BSON dans mongo et les récupérer.

Quelqu'un peut-il me donner un exemple en utilisant node.js/mongo/mongoose ou en savoir un bon ou savoir si c'est possible?

+1

On dirait que mongoose dépend de node-mongodb-native qui peut stocker des fichiers de données binaires je suppose en fonction de son github: https://github.com/christkv/node-mongodb-native On dirait que mongoose a juste besoin de bonnes fonctionnalités wrapper pour les fichiers pour y accéder? – Travis

+0

Je pense que c'est probablement ce que je ferai depuis que j'utilise amazon ec2 ... je vais probablement les stocker dans s3 et stocker leurs emplacements dans la base de données – Travis

+1

Je suis maintenant beaucoup plus heureux et en utilisant une autre bibliothèque de TJ pour le noeud : https://github.com/LearnBoost/knox ... pour les stocker à s3 ... bien mieux que de les mettre dans mongo – Travis

Répondre

2

Selon Guillermo Rauch du projet mangouste, l'ajout du support à GridFS ne sont pas leur priorité en ce moment (http://groups.google.com/group/mongoose-orm/browse_thread/thread/1bce50d90680d502)

Mentionné ceci ici, de sorte que quelqu'un intéressé peut ramasser la tâche et pirater le support de GridFS dans mongoose.

2

https://github.com/christkv/node-mongodb-native/blob/master/examples/types.js#L30 répertorie comment vous pouvez ajouter un type binaire BSON à l'aide de node-mongodb-native.

+0

Vous pouvez également utiliser https://github.com/tdegrunt/mongodb-rest pour obtenir la RESTfulness out-of-the-box !! –

+0

Comment récupérez-vous la valeur binaire. Je convertis une application python qui le fait avec aisance et sans problème, mais dans Node.JS ça ne marche pas. Il dit qu'il est de type 2 si vous envoyez simplement les enregistrements qui sortent du pilote au client. Si vous conservez leur console, vous obtenez des données binaires. Je ne vois pas beaucoup d'exemples dans les tests qui ont comment le faire. –