1

我已经将一个 js 函数保存到集合 db.system.js 中,该集合重新调整了一个 sequenceId,我想用它来设置实体中的 id 值。

我正在尝试在 Doctrine odm for MongoDB 中使用此存储过程,如下所示:

$data=new Application\Entities\Data;
$data->setId("getSequence('campagne')");
$dm->persist($data);

但是该函数没有被评估,并且实体 Data 中的注释 @Id 会覆盖我设置的值。

有可能在 Doctrine odm 中使用存储过程,如何使用?

提前致谢

吉塞拉

4

1 回答 1

0

MongoDB 的服务器端 JavaScript 执行与存储过程不同。您只能从在服务器上执行的 JavaScript 上下文中调用它(例如 db.eval、$where、map/reduce)。

更典型的模式是使用计数器文档和原子$inc函数来递增和获取 ID。请参阅:如何制作自动递增字段

于 2012-07-18T02:21:54.923 回答