2012-03-16 3 views
1

J'ai écrit une fonction Finaliser fairecarte MongoDB/réduire Enregistrer les résultats simples

db.collection.save(value, {safe: 1}); 

à la fin et ne pas retourner une valeur. Cela a bien fonctionné jusqu'à ce que je mette à niveau vers la version actuelle. Maintenant MongoDB jette

invoke failed: JS Error: TypeError: db has no properties nofile_b:16 

J'essaie de sauver ma plaine de résultats, la valeur signification, la valeur, la valeur, ... au lieu de (clé, valeur), (clé, valeur), ....

Existe-t-il un moyen de dire à une carte/réduire un travail pour enregistrer uniquement les valeurs? Je ne veux pas exécuter une autre commande pour collecter déplacer les valeurs vers une nouvelle collection.

thx

Répondre

0

Si je demande, quelle version de mongo utilisiez-vous où vous étiez autorisé à modifier une collection séparée dans la fonction Finaliser? Ce n'était pas un comportement intentionnel. J'ai essayé ceci avec 1.8.3 et 2.0.2, et n'a pas pu modifier une collection séparée. J'ai reçu la même erreur, "invoke a échoué: Erreur JS: TypeError: db n'a aucune propriété nofile_b: 1"

Les documents qui sont sortis par carte réduisent peuvent uniquement être sous la forme de {_id: "id", valeur :"valeur"}. Si vous souhaitez la sortie dans un format différent, vous devrez le faire par programmation.

+0

Malheureusement, je ne connais pas la version que j'ai utilisée. J'ai écrit la fonction vers le 11 octobre. Le projet était en attente jusqu'à maintenant et fonctionnait à ce moment-là. Quand j'ai mis à jour la semaine dernière, j'ai rencontré le problème. – thesonix

Questions connexes