我有一個集合,我不需要任何索引。我只是存儲用戶搜索詞和日期,所以我的收藏非常簡單。我可以刪除默認的MongoDB索引嗎?
class UserSearch {
public string Term {get; set;}
pulic DateTime Date {get;set;}
}
當我存儲一個UserSearch項目時,我的集合有_id和默認索引。
據我所知,這些「_id」字段將以內存索引,所以我不想花費內存來存儲我剛剛存儲的內存,我每12小時計算一次內存。
我嘗試刪除它,但我不能。
var indexes = UserSearch(true).GetIndexes();
//delete UserSearch Default Index
if(UserSearch(true).IndexExistsByName("_id_"))
{
UserSearch(true).DropIndexByName("_id_");
}
任何建議/解決方案?
實際上,您不需要_id來進行復制或分片。您可以設置任何其他索引或複合索引。 –
@AdrianLopez請注意以下警告:'重要 對於副本集,請勿將autoIndexId設置爲false.' https://docs.mongodb.com/manual/reference/method/db.createCollection/#db.createCollection –
我在我的答案中提到了這一點@KevinJohnson – styvane