Tout d'abord, pour les opérateurs de comparaison, il faut se rappeler que MongoDB, bien qu'ayant un client Javascript, est une base de donnée C++ et surtout qu'il est utilisé depuis de nombreux languages différents. C'est déjà assez le bordel quand on veut faire un map/reduce depuis python (on doit passer des fonctions js sous forme de string), encore heureux que ça ne soit pas du js pour juste les comparaisons.
Ensuite concernant la méthode update, je vois pas trop de quoi tu parle. Ex:
> db.test.find()
> db.test.save({'a': 'a', 'b': 'b', 'c': 'c'})
> db.test.find()
{ "_id" : ObjectId("503f653894950c048f876c37"), "a" : "a", "b" : "b", "c" : "c" }
> db.test.update({'a': 'a'}, {$set: {'b': 'd'}})
> db.test.find()
{ "_id" : ObjectId("503f653894950c048f876c37"), "a" : "a", "b" : "d", "c" : "c" }
Sinon, ayant déjà utilise l'Aggregation Framework, c'est un outil très puissant et son arrivée fait du bien (plus besoin d'écrire du js depuis un autre language (dsl pour le troll, j'ai pas put me retenir)).
[^] # Re: Première appréciation
Posté par lothiraldan . En réponse à la dépêche MongoDB sort en version 2.2. Évalué à 4.
Tout d'abord, pour les opérateurs de comparaison, il faut se rappeler que MongoDB, bien qu'ayant un client Javascript, est une base de donnée C++ et surtout qu'il est utilisé depuis de nombreux languages différents. C'est déjà assez le bordel quand on veut faire un map/reduce depuis python (on doit passer des fonctions js sous forme de string), encore heureux que ça ne soit pas du js pour juste les comparaisons.
Ensuite concernant la méthode update, je vois pas trop de quoi tu parle. Ex:
> db.test.find()
> db.test.save({'a': 'a', 'b': 'b', 'c': 'c'})
> db.test.find()
{ "_id" : ObjectId("503f653894950c048f876c37"), "a" : "a", "b" : "b", "c" : "c" }
> db.test.update({'a': 'a'}, {$set: {'b': 'd'}})
> db.test.find()
{ "_id" : ObjectId("503f653894950c048f876c37"), "a" : "a", "b" : "d", "c" : "c" }
J'ai plutôt l'impression que quand tu fais fais ton update, le critère ne match rien et dans ce cas crée un nouveau document. (cf http://www.mongodb.org/display/DOCS/Updating#Updating-%7B%7Bupserts%7D%7D)
Sinon, ayant déjà utilise l'Aggregation Framework, c'est un outil très puissant et son arrivée fait du bien (plus besoin d'écrire du js depuis un autre language (dsl pour le troll, j'ai pas put me retenir)).