等效的mongo php查询是什么。提交具有php unixtimestamp
的文档的$ time db.collection.aggregate({$project : { year : {$year : ISODate("$time"*1000)} }})
答案 0 :(得分:2)
采用这种方法,通过 $add
运算符(可能是对时间字段的另一个$multiply
操作的结果,将纪元日期添加到时间戳中,以毫秒为单位) 1000秒后,结果将是自纪元以来日期毫秒的 $year
部分:
db.collection.aggregate([
{
"$project": {
"year": {
"$year": {
"$add": [ new Date(0), { "$multiply": [ "$time", 1000 ] } ]
}
}
}
}
]);
等效的PHP语法类似于:
$collection->aggregate([
[
"$project" => [
"year" => [
"$year" => [
"$add": [ new MongoDate(0), [ "$multiply": [ "$time", 1000 ] ] ]
]
]
]
]
]);
答案 1 :(得分:0)
到目前为止,你尝试了什么,你使用的是php Mongo库吗?
这是一个带时间戳的例子:
$collection = $mongoClient->your_collection->your_type;
$pipeline = [
[
'$project' => [
'year' => [
'$year' => new \MongoDate($timestamp)
],
],
],
];
$results = $collection->aggregate($pipeline);