Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP在mongo DB中存储时间序列数据_Php_Mongodb_Time Series_Nosql - Fatal编程技术网

使用PHP在mongo DB中存储时间序列数据

使用PHP在mongo DB中存储时间序列数据,php,mongodb,time-series,nosql,Php,Mongodb,Time Series,Nosql,我正在使用MongoDB开发一个web服务。 我想做的是使用PHP像下面这样存储日期 最初,集合如下所示(插入) 我必须更新上面的记录,如下所示(更新) 以及如何查找最新记录(用户的当前位置)。 有人能帮我使用PHP和MongoDB代码吗 谢谢您要做的第一件事是将值对象转换为数组: values: [ { userid: 1, lat: 12.121212, long : 11.111111, timestamp: 2014-02-12 06:50:30 }, { userid

我正在使用MongoDB开发一个web服务。 我想做的是使用PHP像下面这样存储日期

最初,集合如下所示(插入)

我必须更新上面的记录,如下所示(更新)

以及如何查找最新记录(用户的当前位置)。 有人能帮我使用PHP和MongoDB代码吗


谢谢

您要做的第一件事是将值
对象
转换为
数组

values: [
    { userid: 1,  lat: 12.121212, long : 11.111111, timestamp: 2014-02-12 06:50:30 },
    { userid: 1,  lat: 14.141414, long : 10.101010, timestamp: 2014-02-12 07:00:30 },
    ...
]

然后,您可以使用
聚合
$unwind
$group
$last
找到每个用户的最后位置。谢谢您的回复。你能给我提供PHP代码来更新查询吗?在同一天插入新用户(比如userid:2)。您自己尝试了什么?提供一些代码!你看过文件了吗?我会看的。我使用PHP codeigniter rest服务框架来实现时间序列数据的存储收集。
 {
  timestamp_date: ISODate("2013-10-10"),
  type: “memory_used”,
  values: {
    0: { userid: 1,  lat: 12.121212, long : 11.111111, timestamp: 2014-02-12 06:50:30 },
    1: { userid: 1,  lat: 14.141414, long : 10.101010, timestamp: 2014-02-12 07:00:30 },
    .
    .
    .
    99:{ userid: 1,  lat: 15.151515, long : 12.121212, timestamp: 2014-02-12 12:50:30 },
    .
    .
    .


  }
 }
values: [
    { userid: 1,  lat: 12.121212, long : 11.111111, timestamp: 2014-02-12 06:50:30 },
    { userid: 1,  lat: 14.141414, long : 10.101010, timestamp: 2014-02-12 07:00:30 },
    ...
]