我试图使用Mongodb和symfony2 将文档存储在不同的集合中
这是我的管理员,他将文档设置到数据库中。
public function createAction(){
$post = new Post();
$post->setUrl('A Foo Bar');
$post->setTitle('asdf');
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$dm->persist($post);
$dm->flush();
return new Response('Created post id '.$post->getId());}
如您所见,这是DoctrineMongoDBBundle 官方文档的示例
但问题是,默认情况下,它会将文档创建到一个名为类的Collection中,在我的例子中是Post(),所以集合名称是Post。我想将文档保存到一个集合中,例如charlies_posts或任何字符串作为变量。
这很简单:)在文档类的定义中,只需使用"collection"参数。
这里有一个例子:
<?php
namespace MyProject'Document;
use Doctrine'ODM'MongoDB'Mapping'Annotations as ODM;
/**
* @ODM'Document(
* collection="charlies_posts"
* )
*/
class Post
{
Yeahp,正如您所说,我们可以将其定义为一个参数。
Documents'User:
type: document
db: my_db
collection: charlies_post
在这种情况下,在YAML映射文件中,可以选择不同的集合,但在我的情况下,我想通常设置集合名称,因为我有与用户相关的帖子,所以charlies-posts应该转到charlies_post集合,peter-posts应该到peter_post集合。。。
我想一定有一个方法可以设置它,但我找不到它。