集合数据为嵌套列表结构,根据嵌套文档中符合条件的子文档中的字段实现排序。如有集合 demo,其数据如下:
{
"_id" : ObjectId("59fb2e93670c90000ab85efb"), "relateId" : NumberLong(124), "list" : [ { "relateId" : NumberLong(206), "position" : 10 }, { "relateId" : NumberLong(208), "position" : 4 } ], "createAt" : NumberLong(1489258188083), "updateAt" : NumberLong(1505796172787) } |
{
"_id" : ObjectId("59fb2e93670c90000ab86efb"), "relateId" : NumberLong(125), "list" : [ { "relateId" : NumberLong(208), "position" : 5 } ], "createAt" : NumberLong(1489258188083), "updateAt" : NumberLong(1505796172787)} ...... |
希望根据 list.relateId=208 的 list 对象里面的 position 字段排序。
使用集算器, 根据 list 中筛选记录的 postion 排序即可,实现比较容易。
1、编写脚本 demo.dfx:
A | B | |
---|---|---|
1 | =mongo_open("mongodb://localhost:27017/raqdb") | / 连接 MongoDB 数据库 |