インデックスが必要ないコレクションが1つあります。私はちょうどユーザーの検索用語と日付を格納するので、私のコレクションは本当に簡単です。デフォルトのMongoDBインデックスを削除できますか?
class UserSearch {
public string Term {get; set;}
pulic DateTime Date {get;set;}
}
私は1つのUserSearch項目を保存するとき、私のコレクションは、それに_idと、デフォルトのインデックスしています。
私の知るところでは、これらの "_id"フィールドはRAMで索引付けされるので、私が保存するコレクション用のRAMメモリーを費やしたくないので、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