sql >> Databasteknik >  >> NoSQL >> MongoDB

Diff() mellan två samlingar i MongoDB

Ett par förslag:

Du kan använda en kombination av url och det datum som du kommer åt (åtminstone en del av datetime-objektet) som _id för dessa objekt eftersom vad jag kan säga så planerar du att skrapa varje url en gång i månaden.

Exempel:

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

Detta ger prestanda, unikhet och frågautdelning (se det här 4sq blogginlägget ). Du kan fråga att göra något som:

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

Vilket ger utmärkta, snyggt sorterade (efter url SEN efter datum, vilket verkar vara precis vad du vill ha) resultat. Du kan också använda det här indexet för att utföra täckta frågor (över _id-fältet) om du bara vill ha en snygg uppsättning av alla webbadresser och månader som du har skrapat (detta kan göra dig bra att gå igenom varje webbadress en i taget) .

Om du har specifika attribut för dokumentet som du är intresserad av att jämföra (headers.server till exempel) och en specifik jämförelse du vill göra för dem (t.ex. letar efter eventuella ökningar i versionsnummer), skulle jag använda någon form av regex för att ta tag i de element som är relevanta för versionsnummer (en snabb och smutsig kan helt enkelt hämta alla numeriska element) och rita dem för varje webbadress (jag antar att detta skulle låta dig visualisera ändringar i serverprogramvaran över tid). Du kan lika gärna rapportera när något av dessa attribut ändras genom att skanna dem i ordning och starta någon händelse när strängarna inte var identiska (kanske rapportera ändringen eller den numeriska delen av ändringen).




  1. Hur man skapar Mongodb-schema dynamiskt med hjälp av nodejs

  2. Skapa mongoose modell från resultat av lean query

  3. Få meddelande om ändrade dokument i mongodb

  4. MongoDb:Fördelen med att använda ObjectID kontra en sträng som innehåller ett Id?