首页 > 解决方案 > MongoDB 提取数值数据

问题描述

我的收藏中有这些数据:

{"IDF": "P-1234"
"Name": "Jonh"}

我想得到数字部分是对的 IDF。我尝试使用该代码,但它不起作用。

db.getCollection('Users').find({($substr:['IDF',2,6]):{$mod:[2,0]}})

标签: mongodb

解决方案


尝试这个:

db.getCollection('Users').aggregate([
{"$addFields":{"new":{$substr:["$IDF",2,6]}}},
{"$addFields":{"IDFNum":{"$toDouble":"$new"},

}},
{ "$addFields": { "remainder": { "$mod": [ "$IDFNum", 2 ] } } },
{"$match":{"remainder":{"$eq":0}}}
]
)

推荐阅读