mongodb - 在 MongoDB 中使用投影查询,PHP 语法?

标签 mongodb mongodb-php

将执行以下 mongodb Shell 执行的工作的 php 语法是什么?

> db.SoManySins.find({},{"_id":0,"FactoryCapacity":1})

最佳答案

MongoDB PHP 驱动程序函数的命名与其对应的 shell 函数类似,因此在本例中您将使用 MongoCollection::find() . PHP 驱动程序使用关联数组将字段映射到 MongoDB 查询。

由于 PHP MongoCollection::find() 文档页面目前不包含投影示例,为了完整性,我在下面添加了一个:

<?php
    $m = new MongoClient();
    $db = $m->selectDB('test');
    $collection = new MongoCollection($db, 'SoManySins');

    // Search criteria
    $query = array();

    // Projection (fields to include)
    $projection =  array("_id" => false, "FactoryCapacity" => true);

    $cursor = $collection->find($query, $projection);
    foreach ($cursor as $doc) {
        var_dump($doc);
    }
?>

对于投影规范,您可以在 mongo shell 中使用 1/0(包含/排除),或等效的 true/false 常量。

很值得研究 Tutorial在 PHP MongoDB 驱动程序文档中以及查看一些 archived presentations在 10gen 网站上。

关于mongodb - 在 MongoDB 中使用投影查询,PHP 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996394/

相关文章:

javascript - Node.js Passport 谷歌策略的开发模式?

mongodb - 创建集合时自动触发操作

php - MongoDB 更改文档中数组的顺序

php - 在 mongoDB 中查找具有 ObjectID 的文档

mongodb - 在嵌套字段上创建索引

mongodb - 数字集合名称删除

mongodb - 如何在没有规范的扩展JSON添加的情况下获取DecodeBytes()输出

Node.js、mongo、promise - 将参数传递给 then 函数