PHP中的mongodb游标映射

时间:2015-10-23 18:52:54

标签: php mongodb mongodb-query

这里我创建了一个包含单个文档的集合

db.getCollection('example').insert({"example":1});

MongoDB - Cursor - Map

在mongo shell命令中,我可以使用mongo cursor map命令获取输出。 但是,我很难找到相同的PHP驱动程序实现。PHP Mongo Cursor。任何替代方案?

db.getCollection('example').find({"example":1},{"_id":1}).map(function(doc) { 
    return {'id': doc._id.str }
})

1 个答案:

答案 0 :(得分:0)

您可能会发现ArrayCollection的Doctrine实现或类似的对它们自己的迭代器映射方法doctrine / common lib或doctrine / collection也很有用。 在您的特定情况下,我建议使用可调参数实现简单生成器(如果您需要保留Cursor加载的功能),或者只使用带有Cursor参数的iterator_to_array结果的基本array_map函数。 干杯。

UPD: 这里简单的生成器示例:

php function map_traversable(callable $mapper, \Traversable $iterator) { foreach($iterator as $val) { yield $mapper($val); } } 在这种情况下,您将浏览一次数据。