2016-12-24 7 views
0

Ich habe eine Datenbank in mongodb von mongolabs angetrieben gebaut. In diesem Moment habe ich 3
Spalten - Benutzername, Buch ausgeliehen und Datum für jede Woche des Jahres geliehen. Daher kann ein Benutzername verschiedene Bücher an verschiedenen Daten ausleihen. Ich verwende derzeit Pymongo, um die Daten zu analysieren. Ich möchte alle ausgeliehenen Bücher in dieser Woche mit einem Benutzernamen versehen und als Liste anzeigen. Wie macht man das, weil man eine Woche lang daran festhält?Analysieren von Daten in Mongodb mit Python

Aktuelle Datenbank:

{ Username: A, 
    Book_Borrowed: XYZ, 
    Date: 11/2/10 
    } 
    { Username: B, 
    Book_Borrowed: FGH, 
    Date: 12/2/10 
    } 
    { Username: A, 
    Book_Borrowed: DWW, 
    Date: 13/2/10 
    } 
    { Username: A, 
    Book_Borrowed: GGG, 
    Date: 14/2/10 
    } 
    { Username: B, 
    Book_Borrowed: DKD, 
    Date: 14/2/10 
    } 
    { Username: C, 
    Book_Borrowed: DWW, 
    Date: 12/2/10 
    } 

gewünschte Ausgabe:

A: [XYZ,DWW,GGG] 
B: [FGH,DKD] 
C: [DWW] 
+0

Sie müssen '$ Group' von "Benutzername" und' $ push' das Feld "Book_Browrowed". – styvane

+0

@Styvane könnten Sie einen Pseudocode oder wie ein Beispiel in Pymongo geben – qwerty

Antwort

0

versuchen so etwas wie dieses

db.collection.aggregate(
{"$group": {"_id": "$username", "Booksborrowed": {"$push": "$Book_Borrowed"}}} 
)