我正在尝试在MongoDB Compass中进行一些基本过滤,但是我一直没有得到任何结果。这是一个没有过滤的示例
这是过滤
我尝试了以下过滤器,但它们都不起作用:
{"INSTALL_TYPE" : /.*vpos.*/}
{"DIVISION" : /.*20.*/}
{"DIVISION" : "20"}
但是,在同一数据库的另一个表中,搜索工作正常。
为什么我尝试在这张表的MongoDB Compass中进行过滤时没有结果?
答案 0 :(得分:1)
具体来说,包含引号的列名将使Compass的行为符合OP所述。 如果您的CSV如下所示:
"INCIDENT_ID"
"2016376978"
导入指南针。请注意,列标题包含双引号,因此过滤器不会产生结果。
我没有按照接受的答案更改任何值。我只更改了列标题,所以我的CSV如下所示:
INCIDENT_ID
"2016376978"
现在导入集合意味着列标题将不带引号,并且相同的过滤器不会产生结果(即使值本身包含双引号):
编辑
为澄清起见,您在导入之前,您可能仍想从CSV 值中删除双引号。就我而言,从值中删除双引号会很方便并且更接近我的期望。
答案 1 :(得分:0)
此问题是由于字符串中带有引号引起的。从Oracle SQL导出表时,引号会包裹一些值。然后,当我导入CSV时,其所有值都包装起来的CSV引用了导入的罚款。但是,当导入仅某些值带有引号的CSV时,会导致这些条目在字符串内带有引号。
清除所有引号的CSV文件,清空表并重新导入CSV,使所有条目不再具有引号。现在,过滤工作正常。