我的命令不会创建集合。本文说$ out将创建一个不存在的集合:https://docs.mongodb.com/v3.2/reference/operator/aggregation/out/
本文有未包含方括号的内容,但是我所有的聚合函数都在没有方括号的情况下正常工作,无论是否使用方括号,我都会遇到相同的错误。
命令
mongo localhost / UW --quiet -eval“ db.Test_Structures.aggregate({ $ project:{_id:1,edited_on:1}},{$ out:“ test1”})“
错误
2018-11-27T18:55:27.677-0800 E查询[thread1] ReferenceError: 未定义test1:@(shell eval):1:74
相比之下,命令
mongo localhost / UW --quiet -eval“ db.Test_Structures.aggregate({ $ project:{_id:1,edited_on:1}})“”> C:\ MyTest.txt
输出
{“ _id”:ObjectId(“ 5aaa1d85b8078250f1000c0e”),“ edited_on”: ISODate(“ 2018-03-15T07:15:17.583Z”)}
答案 0 :(得分:0)
您似乎在引号内有引号:
mongo localhost/UW --quiet -eval "db.Test_Structures.aggregate( { $project: { _id: 1 , edited_on: 1} }, { $out : "test1" } )"
尝试将"test1"
更改为'test1'
,如下所示:
mongo localhost/UW --quiet -eval "db.Test_Structures.aggregate( { $project: { _id: 1 , edited_on: 1} }, { $out : 'test1' } )"