我在返回sequenceId的集合db.system.js中保存了一个js函数,我想用它来设置实体中的id值。
我尝试在Doctrine odm for MongoDB中使用这个存储过程,如下所示:
$data=new Application\Entities\Data;
$data->setId("getSequence('campagne')");
$dm->persist($data);但是函数不会求值,实体数据中的注释@Id会覆盖我设置的值。
在Doctrine odm中使用存储过程是可能的,如何使用?
提前感谢
吉塞拉
发布于 2012-07-18 10:21:55
MongoDB的server-side JavaScript execution与存储过程不同。您只能从在服务器上执行的JavaScript上下文中调用它(例如,db.eval、$where、map/reduce)。
更典型的模式是使用计数器文档和原子$inc函数来递增和获取ID。请参阅:How to Make an Auto Incrementing Field
https://stackoverflow.com/questions/11526820
复制相似问题