2011-10-14 2 views
0

Je stocke des fichiers dans MongoDB. Afin de les récupérer à une date ultérieure, j'enregistre le ObjectId associé à chaque fichier. Cependant, la valeur de l'id renvoyé est toujours différente de ce qui est stocké.MongoDB renvoie des valeurs ObjectId différentes de celles stockées (à l'aide de GridFS)

E.g. lorsque:

4e9845d6036400df09609b23 est stocké la valeur retournée est 4e9845d6036400df09609b22 4e98466f036400df09609b27 est stockée la valeur retournée est 4e98466f036400df09609b26 4e9848530364904b6b575003 est stockée la valeur retournée est 4e9848530364904b6b575002

La différence est que dans le dernier chiffre et la différence est toujours la Idem: la valeur retournée est inférieure de 1 à la valeur enregistrée.

Lorsque j'exécute mon test avec la valeur stockée, le fichier est renvoyé comme prévu. Donc, cela semble être le problème que je dois résoudre.

Est-ce que quelqu'un sait pourquoi cela pourrait se produire?

+0

Pour le moment, je l'ai résolu ce problème avec un hack. J'ai ajouté 1 à la valeur retournée, ou dans les cas où le dernier chiffre est un caractère alphabétique, j'ai décalé le caractère par un. Mais je suis toujours désireux de savoir si quelqu'un a déjà vu cela, ou pourrait savoir pourquoi cela se produit. – Ankur

Répondre

2

Probablement parce que vous appelez fs.createFile(fAsIs) deux fois

Questions connexes