Örneğin, nesnelerin% 10'unu silmek istiyorum.MongoDB koleksiyonundaki eski Nesnenin% 10'unu silin
Koleksiyonu alıp zamana göre sıralıyorum. Şimdi bir yineleyici var. Kaldırmak istiyorum ama işe yaramıyor. Clear çalışmıyor. Yalnızca ilk Nesneleri nasıl silebilirim?
tutar 1 TL
MongoCursor<Document> cursor = collection.find().sort(new BasicDBObject("utc-stamp", 1)).iterator();
while (cursor.hasNext()) {
Document document = (Document) cursor.next();
document.clear();
}
Ben fikrim yok 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());
}
deneyin. Koleksiyonun adını ve nesnelerin boyutunu alabilirim.
Umarım bana yardımcı olabilirsin.
Amacı nedir? Sadece sınırlı sayıda kayıt için yer olan bir koleksiyonu sürdürmek istiyorsunuz. Koleksiyonunuz doluysa eski kayıtları yeni kayıtlar oluşturmak için silebilirsiniz. Aradığınız şey buysa, bir 'CappedCollection' kullanın. Şuna bakın: https://docs.mongodb.org/manual/core/capped-collections/ –