2012-06-18 90 views
0

時失敗,當我想使用該id時,從mongo db刪除項目不起作用。 我假設問題是我的課有一個ID屬性,但mongo使用_id?在MongoDb中刪除chsarp在示例程序中使用_id

所以當我在下面的代碼中觸發刪除沒有任何變化。使用刪除與使用名稱或值的查詢一切正常工作,該項目被刪除。

任何提示?

MongoServer server = MongoServer.Create(@"mongodb://localhost/?safe=true"); 
server.Connect(); 
var db = server.GetDatabase("data"); 
var collection = db.GetCollection<Foo>("foo"); 

string id = Guid.NewGuid().ToString(); 
Foo a = new Foo(); 
a.Id = id; 
a.name = "Boas"; 
a.Value = 1; 

collection.Insert<Foo>(a); 
Console.WriteLine(collection.Count()+ " items"); // Count is 1 
collection.Remove(Query.EQ("_id",id)); 
Console.WriteLine(collection.Count() + " items"); // Count is still 1 :-(should be 0 
Console.ReadLine(); 

增加: 當我用找到相同的查詢()的項目被發現。所以我不明白爲什麼找到找到元素,並刪除不會刪除它。

collection.Find(Query.EQ("_id",id)).Count() // returns 1 element 

回答

1

我一遍又一遍地做了這個,它不斷打印出1項,然後0項。你確定你的藏品還沒有一個物品嗎?

在你的collection.Insert(a)之後,添加一個collection.RemoveAll()。

+0

嗯我擦了整個數據庫,並重新創建一個。現在它工作。有點奇怪。 thx爲你的幫助。 –