我正试图让Logger在Doctrine ODM中工作.
// .. some initialization code here ...
$mongoConfig->setLoggerCallable(function(array $log){
print_r($log);
die("Mongo Logging Called...");
});
$dm = \Doctrine\ODM\MongoDB\DocumentManager::create(new \Doctrine\MongoDB\Connection(), $mongoConfig);
Run Code Online (Sandbox Code Playgroud)
以下是参考资料:http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/logging.html
我正在使用文档管理器的查询构建器查询文档.我正在成功查找并保留文档.但记录器回调永远不会被召唤.我能做错什么?
我想手动存储引用,而不是让ODM使用DBRef类型.
我可以选择存储我想引用的_id作为@String(例如 - "4e18e625c2749a260e000024"),但是如何ObjectId在这个字段中存储一个实例呢?
new \MongoId("4e18e625c2749a260e000024") <-- what's the annotation for this type?
Run Code Online (Sandbox Code Playgroud)
使用MongoId对象而不是字符串保存它将为我节省一半的空间.它与@Id注释使用的数据类型相同,但@Id只能在Document中使用一次.
什么是正确的注释来实现这一目标?