这里我创建了一个包含单个文档的集合
db.getCollection('example').insert({"example":1});
在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 }
})
答案 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);
}
}
在这种情况下,您将浏览一次数据。