MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Diff() между две колекции в MongoDB

Няколко предложения:

Можете да използвате комбинация от url и достъпната дата (поне част от обекта datetime) като _id за тези обекти, тъй като според това, което мога да кажа, планирате да изтривате всеки url веднъж месечно.

Пример:

{
    "_id": {
        "url": "www.google.com",
        "date": ISODate("2013-03-01"),
    },
    // Other attributes
}

Това дава производителност, уникалност и дивиденти на заявките (вижте тази публикация в блог 4sq ). Можете да направите заявка, като направите нещо като:

db.collection.find({
    "_id": {
        "$gte": {
            "url": yourUrl,
            "date": rangeStart
         },
         "$lt": {
            "url": yourUrl,
            "date": rangeEnd
         },
    }
})

Което дава отлични, добре сортирани (по url СЛЕД това по дата, което изглежда е точно това, което искате) резултати. Можете също така да използвате този индекс, за да изпълнявате обхванати заявки (над полето _id), ако просто искате хубав набор от всички URL адреси и месеци, които сте изкопали (това може да ви настрои добре да преминавате през всеки URL адрес един по един) .

Ако имате конкретни атрибути на документа, които искате да сравните (headers.server например) и конкретно сравнение, което искате да направите за тях (търсейки всяко увеличение в номерата на версиите например), бих използвал някакъв вид регулярен израз, за ​​да взема елементите, свързани с номера на версията (бързо и мръсно може просто да извлече всички числови елементи) и ги начертайте на графика за всеки URL адрес (предполагам, че това ще ви позволи да визуализирате промените в сървърния софтуер с течение на времето). Бихте могли също толкова лесно да докладвате, когато някой от тези атрибути се промени, като ги сканирате по ред и зададете събитие, когато низовете не са идентични (може би след това докладвате промяната или цифровата част от промяната).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Грешка в Mongodb:Позиционният оператор не намери необходимото съвпадение от заявката

  2. Mongoose:Сортиране по вложено поле

  3. Как да разрешите грешката на SQLdecode, когато мигрирате модели в django?

  4. Защо Spark Mongo конекторът не натиска надолу филтрите?

  5. Node.js - Mongoose - Проверете дали съществува колекция