Mongo DB Shell - 多行查询无法正常工作

时间:2017-11-27 14:54:50

标签: mongodb shell

我正在运行Mongo DB 3.6版,我正在使用mongo shell。我在MacOS Sierra上运行它。我对这个多行查询感到非常悲痛。我将它从Sublime Text复制并粘贴到Mongo Shell。

好的,这是查询:

> db.submissions.aggregate([
... {
... "$match": {
... "FieldValues.Value": "Craig"
... }
... },
... {
... "$lookup": {
... "from": "aliases",
... "localField": "FieldValues.Name",
... "foreignField": "Fields.Field",
... "as": "R"
... }
... },
... {
... "$unwind": "$R"
... },
... {
...     "$unwind": "$R.Fields"
...   },
...   {
...   
Display all 172 possibilities? (y or n)
...   wind": "$FieldValues"
2017-11-27T09:46:39.650-0500 E QUERY    [thread1] SyntaxError: missing : after property id @(shell):22:6
>   }
2017-11-27T09:46:39.652-0500 E QUERY    [thread1] SyntaxError: expected expression, got '}' @(shell):1:0
> ])

所以,让我们来看看我遇到错误时的组合,以及当我没有错误时

1)按原样运行查询,这是shell中发生的情况:

{"$unwind": "$FieldValues"}

我应该指出,最后一行是我当前的#34;切入点" (我无法想到一个更好的名字),而我的诅咒就在"]的结尾了#34;

2)运行查询,只是没有最后一次" $ unwind"。

一切正常。

3)使用最后一个" $ unwind"运行查询在一条线上。

这意味着:

{{1}}

然后,一切正常。

结论/问题

那么,WTF?当我将这个查询粘贴在漂亮的打印中时,为什么Mongo Shell会出现问题,最后一次" $ unwind"?

我还应该指出它不是" $ unwind"导致问题的本身。当我将其粘贴到管道中时,我在管道中添加的任何其他查询都会导致类似的错误。

0 个答案:

没有答案