【问题标题】:mongodb cursor map in PHP [duplicate]PHP中的mongodb光标图[重复]
【发布时间】:2016-01-23 09:54:23
【问题描述】:

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

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 }
})

【问题讨论】:

    标签: php mongodb mongodb-query


    【解决方案1】:

    您可能会发现 ArrayCollection 或类似的 Doctrine 实现对于他们自己的迭代器映射方法学说/公共库或学说/集合也很有用。 在您的特定情况下,我建议使用可调用参数实现简单的生成器(如果您需要保留 Cursor 加载的功能),或者只使用基本的 array_map 函数围绕 iterator_to_array 的结果和 Cursor 参数。 干杯。

    更新: 这里简单的生成器示例:

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

    【讨论】:

    • 如您所见,这个问题显然与 OP 的 previous question 重复,就像 here array_mapforeach 所说的循环是要走的路。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2012-01-26
    • 1970-01-01
    相关资源
    最近更新 更多