1
私のクエリはmongodbで動作しており、出力は正しく生成されています。しかし、私はPHPを使用して実行しようとした同じクエリが、それは次のようなエラーにmongoDBのクエリをPHPに変換するには?
私のMongoDBのクエリでdb.sample_coll.aggregate(
{
$unwind: {
path:"$KeyValues",
includeArrayIndex:"arrayIndex",
preserveNullAndEmptyArrays:true
}
},
{
$project: {
timestamp:{
"$add":["$EventTS",{"$multiply":[60000,"$arrayIndex"]}]
} ,
"InputVolt":"$KeyValues.InputVolt",
arrayIndex:1
}
},
{
$match: {
$and: [
{InputVolt: {$ne: null}}
]
}
}
);
続いて上記のクエリが親切に助けPHP
$pipeline = array(
array('$unwind' =>
array('path' => '$KeyValues'),
array('includeArrayIndex' => 'arrayIndex'),
array('preserveNullAndEmptyArrays' => 'true')
),
array(
'$project' => array(
'timestamp' => array(
'$add' => array(
'$EventTS',
array('$multiply' => array(60000, '$arrayIndex'))
)
),
array('InputVolt' => array('$KeyValues', 'InputVolt' )) ,
array('arrayIndex' => 1)
)
),
array(
'$match' => array(
'$and' => array(
array('InputVolt' => array('$ne' => null)),
)
)
)
);
$result = $collection->aggregate($pipeline);
に変換され
Array
(
[ok] => 0
[errmsg] => A pipeline stage specification object must contain exactly one field.
[code] => 16435
)
を与えますこの問題を解決してください。事前に おかげ