MongoDB - db在mongoimport后不显示任何集合

问题描述:

我实际上在探索MongoDB和mapReduce,但是我遇到了问题。 mongodb的安装成功。 之后,我试图import a json文件调用终端蒙戈之前键入这两个命令(我工作在Ubuntu 12.04 LTS):MongoDB - db在mongoimport后不显示任何集合

$ wget http://media.mongodb.org/zips.json 

$ mongoimport --db mapreduce --collection zips --file zips.json 

然后我打电话命令:

$ mongo 

我得到了这些警告:

MongoDB shell version: 2.6.5 
connecting to: test 
Server has startup warnings: 
2014-11-04T20:15:12.280+0100 [initandlisten] 
2014-11-04T20:15:12.280+0100 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.  
2014-11-04T20:15:12.280+0100 [initandlisten] **  32 bit builds are limited to less than 2GB of data (or less with --journal). 
2014-11-04T20:15:12.280+0100 [initandlisten] **  Note that journaling defaults to off for 32 bit and is currently off. 
2014-11-04T20:15:12.280+0100 [initandlisten] **  See http://dochub.mongodb.org/core/32bit 
2014-11-04T20:15:12.280+0100 [initandlisten] 

,现在当我想要展示的收藏品中,我通常键入:

秀收藏

但它并不显示任何集合。就像这样:

秀收藏

>

当我键入

显示DBS

我得到了终端:

admin  (empty)  
local  0.078GB  
mapreduce 0.078GB  
test  (empty)  
zips  (empty) 

这意味着数据库中的zip文件是空的,但是当我打开它时,文件中有很多文件。

任何人都可以帮助我吗? 在此先感谢。

mongoimport --db mapreduce --collection zips --file zips.json 

该命令将导入从文件zips.json数据到一个名为zips收集驻留在mapreduce数据库。

现在,当我想显示集合,我通常键入:显示集合但它不显示任何集合。就像这样:

默认情况下,当你打开一个新的mongo客户端,它使用test数据库。即完成所有操作而不切换数据库将在test数据库上执行。

由于mongoimport命令执行mapreduce数据库的操作,而不是在默认test数据库,你看到test数据库中没有藏品。

当你做show dbs时,它列出了所有存在的数据库。您可以在此处看到新的mapreduce数据库。您在此处看到的zips是您可能意外创建的数据库,而不是您将数据导入到的集合。

这意味着数据库拉链是空的,但是当我打开它,有很多的文档。

是的,数据库命名zips是空的。你正在寻找的是zips集合。 因此,您需要发出命令:use mapreduce;,先切换到mapreduce数据库。在那里,当您发出show collections时,您可以看到带有导入数据的zips集合。

+0

非常感谢@BatScream。经过大量尝试后,我也意识到改变数据库是显而易见的,因为导入是指数据库mapreduce而不是zip。也感谢你的解释。我希望这可以帮助其他人。谢谢 – user2880632 2014-11-04 22:58:25

这是@ BatScream.I的一个很好的解释。我想给@BatScream添加一点点。

您试图为低于进口:

$ mongoimport --db mapreduce --collection zips --file zips.json 

所以你.json文件将被导入到zips集合中的mapreduce database.To查看导入的数据给下面的命令:

>show dbs 
>use mapreduce 
>show collections 
>db.zips.find() 

现在导入的数据将出现在zips集合中。

为什么这些警告?

32位MongoDB进程被限制为大约2 GB的数据。原因是MongoDB存储引擎使用内存映射文件来提高性能,所以它不可能使用日志很多。默认情况下,日志将在32bit中关闭。不要禁用mongodb中的日志记录。不要使用32位生成要了解很多关于日记的内容,请查看for a clear idea

希望这有助于!