t152011 2019-07-19 14:04 采纳率: 0%
浏览 193
已结题

mongodb关于查询格式的写法

表名是这样的t_equipment

数据结构是这样的
{
"_id" : "9000068268_201703",
"data" : [
[
9000068268.0,
0.0,
231.1,
0.4,
232.2,
0.0,
233.3,
4954.4,
3614.8,
4768.8,
0.0,
0.0,
0.0,
13338.4,
0.0,
1490338662906.0
],
[
9000068268.0,
0.0,
231.1,
0.4,
232.2,
0.0,
233.3,
4954.4,
3614.8,
4768.8,
0.0,
0.0,
0.0,
13338.4,
0.0,
1500338662908.0
],
[
9000068268.0,
0.0,
231.1,
0.4,
232.2,
0.0,
233.3,
4954.4,
3614.8,
4768.8,
0.0,
0.0,
0.0,
13338.4,
0.0,
1800338662908.0
]
}

我现在查询表中_id为9000068268_201703,data数据中数组下表为[15]的,时间戳最接近1600338662908.0的前面一条数据:
[
9000068268.0,
0.0,
231.1,
0.4,
232.2,
0.0,
233.3,
4954.4,
3614.8,
4768.8,
0.0,
0.0,
0.0,
13338.4,
0.0,
1500338662908.0
]

        不知道如何写这个方法,希望有人指导下,可以用原生的写法或用spring-mongodb的写法都可以,但是不能做遍历的动作,效率太低了



使用:如下查找法没查出条数:db.getCollection('t_equipment').find({ "data": { $elemMatch: { "[15]": 1490338662906.0} } })  ,我需要返回二维数组中指定索引的一维数组的所有值,而不是整个集合对象
  • 写回答

3条回答 默认 最新

  • 像忘了谁sq 2019-07-19 16:23
    关注

    参考这个
    https://www.cnblogs.com/jiandankuaile/p/7942016.html
    不知道你的data为啥没有字段名;大概是这样查
    { "data": { $elemMatch: { "字段名": {'$gte' : 时间戳, '$lte' : 时间戳}} } }

    评论

报告相同问题?

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?