を使用して運がありませんmerge()
。私は文書化されていることをほぼ正確に行っています:
/* @var $detachedDocument MyDocumentClass */
$detachedDocument = unserialize($serializedDocument);
$document = $dm->merge($detachedDocument);
$document->setLastUpdated(new \MongoDate());
$dm->persist($document);
しかし、変化は決して固執しません。代わりにこれを行う必要があります:
$dm->createQueryBuilder('MyDocumentClass')
->findAndUpdate()
->field('lastUpdated')->set(new \MongoDate())
->getQuery()
->execute();
merge()
非常に簡単に思えるので、思ったように機能しない理由がわかりません。