php - PHP中mongodb聚合中的Substr

标签 php mongodb aggregation-framework

我有以下命令行 mongodb 查询:

db.getCollection('Data').aggregate([
{'$project' : {"_id":"$_id",
           "g":"$g",
           "value": {'$substr':["$g",0,4]},
       }
}])

该查询的结果是:

{
  "result" : [ 
    {
        "_id" : NumberLong(1),
        "g" : "1383,09,1,2000",
        "value" : "1383"
    }, 
    {
        "_id" : NumberLong(2),
        "g" : "1499,06,1,1",
        "value" : "1499"
    }, 

  ],
  "ok" : 1.0000000000000000,
  "$gleStats" : {
    "lastOpTime" : Timestamp(0, 0),
    "electionId" : ObjectId("564d7df200e15758444e9a7d")
  }
}

现在我想在 php 文件中使用此查询。

特别是如何在 PHP 中使用 $project 中的 $substr 和聚合?

最佳答案

您需要使用MongoCollection::aggregate方法

$pipeline = array(
    '$project' => array(
        'g' => '$g',
        'value' => array('$substr' => array('$g', 0,4))
    )
);

$results = $collection->aggregate($pipeline)

关于php - PHP中mongodb聚合中的Substr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33888633/

相关文章:

mongodb - 通过键字段查找 MongoDB 集合中的所有重复文档

python - 将 MongoDB(3.0) 集合的子集保存到 Python 中的另一个集合

mongodb - 无法将 $match 运算符用于带有 ObjectId 的 mongodb/mongoose 聚合

javascript - 使用 mongo 风格的语法从数组而不是 Mongo 集合中查询内存中的 JavaScript 对象?

javascript - 在 angular-meteor 中使用 $push 运算符更新 mongodb

Perl & MongoDB 二进制数据

php - 从 PHP 中加载 .sql 文件

php - MySQL:选择两个日期范围内的所有数据

php - MySQL 错误 #1052 from 子句中的列不明确

PHP数组函数?