如何修改该值而不更新它,然后将其与mongodb中的元素匹配?
我有一个元素,我正在动态地匹配它的值。 唯一的区别是DB中的值用下划线连接,而我得到的值没有下划线。那么,是否有任何方法可以根据我得到的内容修改值并应用“find” 收藏:如何修改该值而不更新它,然后将其与mongodb中的元素匹配?,mongodb,Mongodb,我有一个元素,我正在动态地匹配它的值。 唯一的区别是DB中的值用下划线连接,而我得到的值没有下划线。那么,是否有任何方法可以根据我得到的内容修改值并应用“find” 收藏: "name": { "age": 23, "firstname": "sweta", "secondname": "sharma"}, "hobbyImages": [ 0: "0_abc_0.jpg", 1: "1_def_1.jp
"name": {
"age": 23,
"firstname": "sweta",
"secondname": "sharma"},
"hobbyImages": [
0: "0_abc_0.jpg",
1: "1_def_1.jpg"
]
}
查询:
db.find({ "name.age": 23, "hobbyImages": imageName });
我的图像名为abc.jpg
预期结果:
我上面提到的收藏,但我没有得到任何东西。
有人知道如何删除“\ux”和“0”,然后检查元素值吗?您可以尝试将图像与
$regex
匹配
const [name, ex] = imageName.split('.');
const regex = new RegExp(`\\d_${name}_\\d.${ex}`, "gi")
db.users.find(
{ "name.age": 23, "hobbyImages": { "$elemMatch": { "$regex": regex } } }
)
图像字符串的结构总是
。
?@Ravi Shankar Bharti它总是这样的that@Vassilis帕拉斯:我没有这种“gi”的内容。我只有“abc.jpg”美元期权中的“gi”是什么意思?我在选项中没有听说过“g”,它是全局匹配修饰符。查找所有匹配项,而不是在第一次匹配后停止。@Felipe Sulser我可以举个例子吗?我编辑我的答案。i
不敏感g
是全局的(第一次匹配时不停止)