查询MongoDB子文档的List字段

  来源:https://groups.google.com/forum/#!msg/mongodb-user/HqzXSh5DZek/ffZG0TQ1w8cJ 。

  Collction Cbettwen含有多级子文档,其中dataList是List型,含有多个字符串,每个字符串由多个数字组成。需要找出符合如下条件的字符串:第1个数字大于6154并小于等于6155。

  Cbettwen的某个文档如下:

查询MongoDB子文档的List字段_第1张图片

  符合要求的字符串为:“6154.5,37.9,1.529,1.429,1.429″,”6155,30.4,1.505,1.532,1.543″

  集算器代码:

查询MongoDB子文档的List字段_第2张图片

  A1:连接MongoDB,连接字格式为mongo://ip:port/db?arg=value&…。

  A2:使用find函数从MongoDB中取数,形成游标。collection是Cbettwen,过滤条件是空,取出_id之外的所有字段。集算器的find函数和mongdb的find函数类似,过滤条件的写法遵循mongodb规范。

  A3:找到符合条件的字符串。函数conj可对A2中每个文档的计算结果进行合并,~表示上级序表的每个成员。函数new可新建序表。#1表示序表的第1个字段。函数array可将字符串拆为序列,默认分隔符是逗号,@1表示只拆成两个成员,遇到第1个分隔符就返回。

  A4: 对游标进行批处理,获得内存数据,结果如下:

查询MongoDB子文档的List字段_第3张图片

  A5:关闭mongodb连接。

你可能感兴趣的:(大数据)