私はmongob照合からアイテムを削除するためのこのコードを持っています
private MongoCollection<T> GetCollection()
{
connectionString = "mongodb://localhost/?safe=true";
server = MongoServer.Create(connectionString);
database = server.GetDatabase("CSCatalog");
return database.GetCollection<T>("myCollectionName");
}
public bool Delete(T entity)
{
var id = typeof(T).GetProperty("Id").GetValue(entity,null).ToString();
var query = Query.EQ("_id",id);
var finded = GetCollection().Find(query); // return null
var result= GetCollection().Remove(query, MongoDB.Driver.RemoveFlags.Single); // no errors, but don't remove
return esito.Ok; //return true but donn't remove.
}
GetCollection() メソッドは正しいコレクションを取得します。デバッグ幅でテストしました。コレクションには、削除したいアイテムがあり、最初の行で取得したのと同じ ID を持っています。
エンティティにはいくつかのフィールドと「Id」と呼ばれる Objectid フィールドがあります