1
たとえば、オブジェクトの10%を削除します。MongoDBコレクションの古いオブジェクトの10%を削除します。
私はコレクションを取得し、時間をかけて並べ替えます。今私はイテレータを持っています。私は削除を言うが、それは動作しません。クリアは機能しません。どのように最初のオブジェクトだけを削除できますか?
Try1
MongoCursor<Document> cursor = collection.find().sort(new BasicDBObject("utc-stamp", 1)).iterator();
while (cursor.hasNext()) {
Document document = (Document) cursor.next();
document.clear();
}
は、私は見当がつかない2
MongoCursor<Document> iterator = collection.find().sort(new BasicDBObject("utc-stamp", 1)).iterator();
for(int i = 0; i< collection.count()-2; i++) {
iterator.next().clear();
}
while (iterator.hasNext()) {
docs.add(iterator.next());
}
を試してみてください。コレクションの名前とオブジェクトのサイズを取得できます。
私があなたを助けてくれることを願っています。
目的は何ですか。あなたは限られた数のレコードのためのスペースしか持たないコレクションを維持しようとしていますか?古いレコードを削除して、コレクションがいっぱいの場合は新しいレコードのためのスペースを作成します。これがあなたが探しているものなら、 'CappedCollection'を使用してください。これを参照してください:https://docs.mongodb.org/manual/core/capped-collections/ –