2016-04-24 12 views
0

Ich habe gerade erfahren über Berkeley DB und seine Leistung gestern. Ich bin bereit, es in einem Java-Projekt zu verwenden.Wie bekomme ich alle Objekte mit Berkeley DB eine Bedingung zu erfüllen

Was ich gerne wissen würde, ist, wie alle Objekte in meinem DB, die eine bestimmte Bedingung erfüllen, abgerufen werden.

Zum Beispiel habe ich Objekte des Typs Nachricht (int ID, Zeichenfolge Wert, Datum Datum) gespeichert, und ich möchte alle Nachrichten der letzten 10 Minuten erhalten.

Mit anderen Worten, was ist das Äquivalent dieser SQL-Abfrage

SELECT * FROM messages WHERE date < 2016-04-12T23:20:50.52Z 

in Berkeley DB.

Ist es möglich, es mit Berkeley DB-API zu tun, oder sollte ich alles durch Kodierung tun?

Vielen Dank im Voraus.

Antwort

0

Berkeley DB ist ein Schlüssel-Wert-Speicher. Wenn Sie etwas anspruchsvolleres tun wollen, als Werte anhand ihrer Bezeichner zu ermitteln und festzulegen, müssen Sie die Arbeit erledigen. Es gibt ein SQL-Modul dafür. Ich habe es nie benutzt, aber ich würde nicht zu viele Chips auf diese Nummer legen.

Ein Problem wie Sie darstellen ist viel besser gelöst in SQLite, die so etwas wie Berkeley DB unter der Haube verwendet, und (natürlich) unterstützt SQL. Es unterstützt auch Datumsarithmetik bei korrekt formatierten Strings.