Mongo.db.clean.js
Z Otwarty System Antyplagiatowy
Wersja z dnia 19:59, 9 wrz 2015 autorstwa Marcin (dyskusja | edycje) (Utworzono nową stronę "<pre> // czyszczenie dokumentów var documents = db.nekstResult.aggregate([ {$group: {_id: "$documentId", count: {$sum: 1}}}, {$match: {count: {$gt: 100}}} ]);...")
// czyszczenie dokumentów
var documents = db.nekstResult.aggregate([
{$group: {_id: "$documentId", count: {$sum: 1}}},
{$match: {count: {$gt: 100}}}
]);
var i = 0;
documents.forEach(function (document) {
print(i + " documentId: " + document._id + " liczba wyników: " + document.count);
i++;
// usuwanie body
db.nekstResult.find({documentId: document._id}).forEach(function (myDoc) {
db.nekstResultBody.remove({"_id": myDoc._id})
});
// usuwanie results
db.nekstResult.remove({documentId: document._id});
});
//czyszczenie kolekcji
var collections = db.collectionNekstResult.aggregate([
{$group: {_id: "$documentId", count: {$sum: 1}}},
{$match: {count: {$gt: 100}}}
]);
var i = 0;
collections.forEach(function (collection) {
print(i + " documentId: " + collection._id + " liczba wyników: " + collection.count);
i++;
// usuwanie body
db.collectionNekstResult.find({documentId: collection._id}).forEach(function (myDoc) {
db.collectionNekstResultBody.remove({"_id": myDoc._id})
});
// usuwanie results
db.clollectionsNekstResult.remove({documentId: collection._id});
});
// kompaktujemy wszystkie kolekcje
db.getCollectionNames().forEach(function (collectionName) {
print('Compacting: ' + collectionName);
db.runCommand({compact: collectionName});
});
// przebudowa bazy
db.repairDatabase();