Javascript 从mongo db将字符串解析为要查询的对象
我试图在mongo db中使用一个查询参数,我将字符串作为Javascript 从mongo db将字符串解析为要查询的对象,javascript,json,node.js,mongodb,Javascript,Json,Node.js,Mongodb,我试图在mongo db中使用一个查询参数,我将字符串作为 “{”location.city:“Florida”},{”category:“sports”} 我需要将此作为一个条件传递,因此我尝试使用以下代码删除“” let filter = JSON.parse(myString); 但它抛出一个错误意外标记,在JSON中的位置27' 预期格式: {"location.city":"Florida"},{"category":"sports"} 因为您需要使用JSON对象,您拥有的是字符串
“{”location.city:“Florida”},{”category:“sports”}
我需要将此作为一个条件传递,因此我尝试使用以下代码删除“”
let filter = JSON.parse(myString);
但它抛出一个错误意外标记,在JSON中的位置27'
预期格式:
{"location.city":"Florida"},{"category":"sports"}
因为您需要使用JSON对象,您拥有的是字符串,它表示以逗号分隔的对象列表。如果你从某处得到这个字符串,你需要解析它并将它转换成对象。例如,您可以用“,”(逗号)分隔该字符串,遍历字符串数组的每个元素,并使用JSON.parse将它们转换为JSON对象。如果这是您自己创建的作为mongodb请求查询的字符串,那么您就错了。正如我所说,您有逗号分隔的列表,但您应该在查询对象中有对象,或者如果需要的话,有对象数组。类似于
{"location.city":"Florida","category":"sports"}
// or
{"myData": [{"location.city":"Florida"},{"category":"sports"}]}
使用单引号怎么样,比如'{“location.city”:“Florida”}、{“category”:“sports”}
,或者转义双引号“{”location.city\:“Florida\”}、{“category\”:“sports\”}
@DiegoAmicabile no不起作用