J'ai deux classes, une référence à l'autre en utilisant @Reference Lors de l'insertion, j'insérerai d'abord la référence et j'insérerai l'objet avec le champ de référence plus tard. Tout fonctionne bien quand je les chercher dans la plupart des time.But parfois, je suis des exceptions commeJ'ai une référence manquante dans mongodb avec morphia
GRAVES: java.lang.RuntimeException: com.google.code.morphia.mapping.MappingException: La référence ({ "ref $": "UserContactLink", "$ id": "50e92481cde5dadc12ff854b"}) ne pouvaient pas être récupérés pour net.shisoft.db.obj.UserContact.ucs
Lorsque j'ai vérifié l'ID dans UserContactLink
et il n'y a pas un tel document avec cet id. Je pense que c'est parce que je termine la progression de mongod la dernière fois et la transaction (de mon point de vue) ne s'est pas terminée et la relation de données a été corrompue. Semble mongodb n'ont pas de fonctionnalité de transaction, que puis-je faire avec ce problème?
Une raison pour laquelle je n'utilise pas de documents incorporés est qu'ils ne peuvent pas être interrogés. Mais merci. – Shisoft
documents intégrés peuvent être interrogés également par dot notatiton réellement. http://docs.mongodb.org/manual/core/read-operations/#read-operations-subdocuments – cubbuk