有点新的mongodb。我知道mongodb对引用没有限制。因此,如果我有一个不存在的推荐文档,我该如何删除它?
例如:
{
_id: ObjectId("51619a758ead0e6765000004"),
createdAt: ISODate("2013-04-08T00:10:29+08:00"),
works: [ { $ref: "products", $id: ObjectId("51619a758ead0e6765000007"), $db: "ihome", type: "product" } ]
}
已移除推荐产品。我不知道如何从作品中拉出来?我在下面尝试但没有工作:
$dm->createQueryBuilder('SupplierBundle:Supplier')
->update()
->field('id')->equals('51619a758ead0e6765000004')
->field('works.$id')->pull(new \MongoId('51619a758ead0e6765000007'))
->getQuery()
->execute();
提前致谢。
答案 0 :(得分:2)
行。我发现了如何做到这一点:
$dm->createQueryBuilder('SupplierBundle:Supplier')
->update()
->field('id')->equals('51619a758ead0e6765000004')
->field('works')->pull(array('$id' => new \MongoId('51619a758ead0e6765000007')))
->getQuery()
->execute();