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

Json MongoDB-db在mongoimport之后不显示任何集合,json,mongodb,collections,Json,Mongodb,Collections,我实际上在探索MongoDB和mapReduce,但我遇到了一个问题。 mongodb的安装是成功的。 之后,我尝试导入一个json文件,在terminalI中调用mongo之前键入以下2个命令。我正在使用Ubuntu12.04 LTS: $ wget http://media.mongodb.org/zips.json $ mongoimport --db mapreduce --collection zips --file zips.json 然后我调用命令: $ mongo

我实际上在探索MongoDB和mapReduce,但我遇到了一个问题。 mongodb的安装是成功的。 之后,我尝试导入一个json文件,在terminalI中调用mongo之前键入以下2个命令。我正在使用Ubuntu12.04 LTS:

$ 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] 
现在,当我想显示集合时,我通常会键入:

展示收藏

但它没有显示任何收藏。像这样:

展示收藏

>

当我打字的时候

放映星展

我上了候机楼:

admin      (empty)    
local      0.078GB     
mapreduce  0.078GB     
test       (empty)    
zips       (empty) 
这意味着数据库zips是空的,但是当我打开它时,里面有很多文档

谁能帮我一下吗? 提前谢谢

mongoimport --db mapreduce --collection zips --file zips.json
此命令将数据从文件zips.json导入mapreduce数据库中名为zips的集合

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

默认情况下,当您打开新的mongo客户端时,它将使用测试数据库。i、 e未切换数据库的所有操作将在测试数据库上执行

由于mongoimport命令在mapreduce数据库而不是默认测试数据库中执行操作,因此在测试数据库中看不到集合

当您显示dbs时,它会列出所有存在的数据库。您可以在那里看到新的mapreduce数据库。这里看到的ZIP是您可能意外创建的数据库,而不是您将数据导入其中的集合

这意味着数据库zips是空的,但是当我打开它时,里面有很多文档

是的,名为zips的数据库为空。你要找的是拉链系列。 因此,需要发出命令:use mapreduce;,首先切换到mapreduce数据库。在那里,当您发布show collections时,可以看到包含导入数据的zips集合

此命令将数据从文件zips.json导入mapreduce数据库中名为zips的集合

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

默认情况下,当您打开新的mongo客户端时,它将使用测试数据库。i、 e未切换数据库的所有操作将在测试数据库上执行

由于mongoimport命令在mapreduce数据库而不是默认测试数据库中执行操作,因此在测试数据库中看不到集合

当您显示dbs时,它会列出所有存在的数据库。您可以在那里看到新的mapreduce数据库。这里看到的ZIP是您可能意外创建的数据库,而不是您将数据导入其中的集合

这意味着数据库zips是空的,但是当我打开它时,里面有很多文档

是的,名为zips的数据库为空。你要找的是拉链系列。
因此,需要发出命令:use mapreduce;,首先切换到mapreduce数据库。在那里,当您发布show collections时,您可以看到包含导入数据的zips集合。

这是@Batshray的一个很好的解释。我想对@Batshray做一点补充

您已按如下方式尝试导入:

因此,您的.json文件将导入mapreduce数据库中的zips集合中。要查看导入的数据,请发出以下命令:

>show dbs
>use mapreduce
>show collections
>db.zips.find()
现在导入的数据将出现在zipscollection中

为什么要发出这些警告


32位MongoDB进程的数据限制在2GB左右。这是因为MongoDB存储引擎使用内存映射文件来提高性能。因此它不可能过多地使用日志。此外,默认情况下,日志记录将在32位关闭。不要在MongoDB中禁用日志记录。永远不要在产品中使用32位。要了解更多关于日志记录的信息,请查看我的博客文章。

这是作者的一个很好的解释@蝙蝠尖叫。我想为@BatScream添加更多内容

您已按如下方式尝试导入:

因此,您的.json文件将导入mapreduce数据库中的zips集合中。要查看导入的数据,请发出以下命令:

>show dbs
>use mapreduce
>show collections
>db.zips.find()
现在导入的数据将出现在zipscollection中

为什么要发出这些警告


32位MongoDB进程的数据限制在2GB左右。这是因为MongoDB存储引擎使用内存映射文件来提高性能。因此它不可能过多地使用日志。此外,默认情况下,日志记录将以32位关闭。不要在MongoDB中禁用日志记录。决不要将32位用于制作。要了解更多日志记录,请查看我的博客帖子。

非常感谢@BatScream。经过多次尝试,我也意识到更改数据库是显而易见的,因为导入引用了数据库mapreduce a
不要拉拉链。也谢谢你的解释。我希望这也能对其他人有所帮助。非常感谢蝙蝠咆哮。经过多次尝试,我也意识到更改数据库是显而易见的,因为导入是指数据库mapreduce,而不是zips。也谢谢你的解释。我希望这也能对其他人有所帮助。谢谢