2013-05-07 49 views
0

我做mongoimport叶集空了一段时间

mongoimport --host myhost --port myport --db mydb --collection mycollection --fields field_one,field_two --type csv --file myfile.csv 

这将返回没有错误(即使我添加--stopOnError它与存在状态0,没有错误返回)。

然后,如果我做

mongo myhost:myport/mydb --eval "db.mycollection.find()" 

,并返回

DBQuery: mydb.mycollection -> undefined 

然而,当我登录到控制台蒙哥我看到的数据是存在的。

mongo myhost:myport/mydb 
> db.mycollection.find() 
// data here 

有什么建议吗?我正在使用mongo 2.2。

我看到类似的问题mongoimport is not showing the collection after import has run successfully,但检查服务器日志我没有看到任何不妥之处。

+0

如果你改变 “.find()” 到 “.findOne” 它的工作原理:

要使用--eval试运行查询?这可能是find()返回一个游标而不是结果集。从内部运行时,shell提供结果打印输出。 – 2013-05-07 17:25:50

回答

1

“.find()”调用返回一个游标。 shell会增加值,因为它会遍历游标并打印第一个X结果并允许迭代。

mongo myhost:myport/mydb --eval "db.mycollection.find().forEach(printjson)"