{"action":"created","issue":{"url":"https://api.github.com/repos/doctrine/mongodb-odm/issues/782","labels_url":"https://api.github.com/repos/doctrine/mongodb-odm/issues/782/labels{/name}","comments_url":"https://api.github.com/repos/doctrine/mongodb-odm/issues/782/comments","events_url":"https://api.github.com/repos/doctrine/mongodb-odm/issues/782/events","html_url":"https://github.com/doctrine/mongodb-odm/pull/782","id":26298247,"number":782,"title":"Remove embedded documents complexity","user":{"login":"jwage","id":97422,"avatar_url":"https://avatars.githubusercontent.com/u/97422?v=3","gravatar_id":"","url":"https://api.github.com/users/jwage","html_url":"https://github.com/jwage","followers_url":"https://api.github.com/users/jwage/followers","following_url":"https://api.github.com/users/jwage/following{/other_user}","gists_url":"https://api.github.com/users/jwage/gists{/gist_id}","starred_url":"https://api.github.com/users/jwage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwage/subscriptions","organizations_url":"https://api.github.com/users/jwage/orgs","repos_url":"https://api.github.com/users/jwage/repos","events_url":"https://api.github.com/users/jwage/events{/privacy}","received_events_url":"https://api.github.com/users/jwage/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/doctrine/mongodb-odm/labels/task","name":"task","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/doctrine/mongodb-odm/milestones/1","html_url":"https://github.com/doctrine/mongodb-odm/milestones/1.0.0","labels_url":"https://api.github.com/repos/doctrine/mongodb-odm/milestones/1/labels","id":543770,"number":1,"title":"1.0.0","description":"","creator":{"login":"jmikola","id":244663,"avatar_url":"https://avatars.githubusercontent.com/u/244663?v=3","gravatar_id":"","url":"https://api.github.com/users/jmikola","html_url":"https://github.com/jmikola","followers_url":"https://api.github.com/users/jmikola/followers","following_url":"https://api.github.com/users/jmikola/following{/other_user}","gists_url":"https://api.github.com/users/jmikola/gists{/gist_id}","starred_url":"https://api.github.com/users/jmikola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmikola/subscriptions","organizations_url":"https://api.github.com/users/jmikola/orgs","repos_url":"https://api.github.com/users/jmikola/repos","events_url":"https://api.github.com/users/jmikola/events{/privacy}","received_events_url":"https://api.github.com/users/jmikola/received_events","type":"User","site_admin":false},"open_issues":51,"closed_issues":30,"state":"open","created_at":"2014-01-22T04:49:23Z","updated_at":"2015-06-19T07:23:28Z","due_on":null,"closed_at":null},"comments":17,"created_at":"2014-01-25T18:31:17Z","updated_at":"2015-06-19T20:55:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/doctrine/mongodb-odm/pulls/782","html_url":"https://github.com/doctrine/mongodb-odm/pull/782","diff_url":"https://github.com/doctrine/mongodb-odm/pull/782.diff","patch_url":"https://github.com/doctrine/mongodb-odm/pull/782.patch"},"body":"- Remove some of the additional complexity when working with embedded documents. Treat embedded documents like normal documents in the UnitOfWork as much as possible.\r\n- Fix issue with ClassMetadata::associationMapping not inheriting associations correctly.\r\n- Fix issue with re-persisting removed embedded document. #719 \r\n- Fixes #1058, #999 and #1059"},"comment":{"url":"https://api.github.com/repos/doctrine/mongodb-odm/issues/comments/113642286","html_url":"https://github.com/doctrine/mongodb-odm/pull/782#issuecomment-113642286","issue_url":"https://api.github.com/repos/doctrine/mongodb-odm/issues/782","id":113642286,"user":{"login":"blockjon","id":1198745,"avatar_url":"https://avatars.githubusercontent.com/u/1198745?v=3","gravatar_id":"","url":"https://api.github.com/users/blockjon","html_url":"https://github.com/blockjon","followers_url":"https://api.github.com/users/blockjon/followers","following_url":"https://api.github.com/users/blockjon/following{/other_user}","gists_url":"https://api.github.com/users/blockjon/gists{/gist_id}","starred_url":"https://api.github.com/users/blockjon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blockjon/subscriptions","organizations_url":"https://api.github.com/users/blockjon/orgs","repos_url":"https://api.github.com/users/blockjon/repos","events_url":"https://api.github.com/users/blockjon/events{/privacy}","received_events_url":"https://api.github.com/users/blockjon/received_events","type":"User","site_admin":false},"created_at":"2015-06-19T20:55:38Z","updated_at":"2015-06-19T20:55:38Z","body":"My project's unit test all seem to pass with this branch.\r\n\r\nOn a slightly different topic, you are all at this point aware of my interest in pushing forward with the atomicSet feature that @malarzm has been helping to build.\r\n\r\nAs I have been thinking about Doctrine ODM, I have come to the opinion that all the whole project should use atomicSet for EmbedMany everywhere. If it were up to me, I would remove the option for other \"strategies\" pretty much entirely. In my view, all new coders of this codebase (or any ODM/ORM for that matter) would reasonably expect a data persistence layer to use atomic queries such that no data loss & corruption would even be possible. My app isn't even \"highly concurrent\" per se. At any one moment, I have at *most* 2 users trying to update a record and I have run into integrity problems.\r\n\r\nWith the way the system supports different strategies, it means that some strategies are more stable than others. For example, the atomicSet strategy currently does not support editing of documents (https://github.com/doctrine/mongodb-odm/pull/1153).\r\n\r\nI realize that there are advantages to having smaller & more compact queries but I think data integrity and consistency supersedes all else."}}