字符串以某符号分割添加到数组并使用mongodb的$in查询

今天遇到了一个很头疼的问题,就是讲客户端传递来的伪数组参数进行查询操作
比如这样:
“5b4d57d4960cfb0cfa6aea69,5b4d6a21960cfb0cfa6aea76,5b4db130960cfb0cfa6aea7d”
这是一个字符串,在我们添加到数组中,它就是一个元素,
楼主也不是大牛,于是尝试了各种方法,toString()转字符串再在头尾添加单引号’’,但很可惜的是,再重新初始化的时候,添加的字符会被默认转译为\
最后发现使用split进行分割添加到数组中才是可行的方法

let arr = []; //定义一个空数组
arr = e.value.toString().split(',');//e.value 为传递的参数,然后使用toString转换为字符串,再通过split(','),以逗号分割添加值数组中
//最后arr的结果为
['213123213','213213213213','13123213','213123213123']

这样一来再使用

“signInstitutionsData.institutions.institution”: { $in: arr }
即可实现正确的查询操作

猜你喜欢

转载自blog.csdn.net/qq_42427109/article/details/88664944