学说ODM:获取特定字段的数组



所以,问题是在一个数组中获取id(或任何其他字段(,例如:

[
    "someId1",
    "someId2",
    "someId3",
]

我试图通过下一个查询来获取它:

$this->createQueryBuilder()
        ->select('_id')
        ->hydrate(false)
        ->getQuery()
        ->toArray()

但我拿的不是我想要的,而是接近这个:

112 => array:1 [
  "_id" => 112
]
113 => array:1 [
  "_id" => 113
]
114 => array:1 [
  "_id" => 114
]

(我使用策略增量(。我尝试通过map,reduce来做到这一点,但我知道我对这些功能一无所知:)。那么有人可以帮助我吗?

PS:我知道如何通过php函数实现这一点,例如array_keys | array_values。但我真的很想知道如何通过mongoDB做到这一点,特别是在ODM中使用createQueryBuilder

这通常可以通过创建自定义水化器来完成。你可以看看这个例子,并尝试让它适应 ODM https://gist.github.com/Tom32i/7984541

相关内容

  • 没有找到相关文章

最新更新