morphia und howto update der bestehenden Dokument-Feld
Im komplett neuen zu MongoDb und Morphia und
versuchen zu lernen, wie zu aktualisieren, mein Dokument.
Kann ich nicht sehen/verstehen, wie man es von dieser Seite:
http://www.mongodb.org
Mein Dokument sieht wie folgt aus:(könnte einige Fehler hier)
@Entity
public class UserData {
private Date creationDate;
private Date lastUpdateDate;
@Id private ObjectId id;
public String status= "";
public String uUid= "";
public UserData() {
super();
this.statistic = new Statistic();
this.friendList = new FriendList();
}
@Embedded
private Statistic statistic;
@Embedded
private FriendList friendList;
@PrePersist
public void prePersist() {
this.creationDate = (creationDate == null) ? new Date() : creationDate;
this.lastUpdateDate = (lastUpdateDate == null) ? creationDate : new Date();
}
}
Auf dieser Seite kann ich nicht sehen, an jedem Ort, wo Sie beschreiben howto update meine UserData
mit einer bestimmten uUid
Wie update UserData.status
wenn uUid=123567
Dies ist, was ich denke, ich sollte verwenden:
ops=datastore.createUpdateOperations(UserData.class).update("uUid").if uuid=foo..something more here..
//morphia Standard-update ist die Aktualisierung alle UserData-Dokument so ein howto update ausgewählten
datastore.update(datastore.createQuery(UserData.class), ops);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, das ist, was Sie wollen:
Der morphia-Schnittstelle ist ein wenig umständlich, und die docs sind nicht klar... aber eine Methode zum aktualisieren nur eine einzige, spezifische Dokument ist tatsächlich zeigte auf die Seite Erik verwiesen:
...
Auch, eine andere Dokumentation Seite zeigt ein cleverer Weg, um zu verbergen, dass umständliche Abfrage in der Entität-Klasse selbst:
loggedIn()
Methode? Ich muss eine Abfrage erstellen, die für die spezifischenUser
Recht? und dann rufen Sie dieloggedIn()
? Würde ich nicht haben, um ziehen Sie die gesamteUser
Objekt oder kann ich das verkürzen der java-code?User
Klasse. Es wird davon ausgegangen, Sie habe bereits besiedelt einUser
Objekt mit einem Dokument aus der Mongo Datenbank. Es gibt andere Möglichkeiten, um zu überprüfen, ohne zu ziehen aus der gesamtenUser
Objekt. Wie statische Methoden derUser
Klasse oder die Umsetzung in eineUser*DAO*
Klasse: code.google.com/p/morphia/wiki/DAOSupport