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