J'écris une application web en utilisant C# et MongoDB. Afin de mettre à jour un document que j'ai écrit un code qui ressemble à ceci:Robomongo ne semble pas mettre à jour les documents
public MyType Update(MyType obj) {
...
var oFilter = Builders<MyType>.Filter.Eq(o => o.MyId, obj.MyId);
var oResult = oCollection.FindOneAndReplace(oFilter, obj);
if(oResult!=null)
Console.Writeline("object to update found");
...
return oResult;
}
La classe MyType ressemble à ce
[DataContract]
public class MyType
{
[DataMember(Name="_id")]
[BsonId(IdGenerator = typeof(CombGuidGenerator))]
public Guid MyId { get; set; }
...
}
Le code compare fondamentalement la _id de obj avec le _id de chaque document la collection, et si elle trouve une correspondance, elle effectue la mise à jour. Le programme semble fonctionner correctement mais quand je vérifie Robomongno l'objet n'est pas mis à jour, même quand l'objet à mettre à jour a été trouvé.
Je viens de découvrir qu'il met à jour le premier document de la collection. – nix86