为什么没有db.database.find()的结果虽然mongodb中有数据?

时间:2017-01-07 07:10:38

标签: mongodb import mongodb-query

我已经使用mongoimport实用程序从csv文件导入数据到mongodb,这些文件有一百万条记录:

show dbs;
admin     0.000GB
ded       0.305GB
local     0.000GB
visitors  0.000GB
db.ded.find();

当数据为0.305GB时,为什么ded数据库中没有行? 我怎么能看到这些数据? 对此的任何意见都会有很大的帮助。

2 个答案:

答案 0 :(得分:2)

find()不返回任何文档,因为您使用的test数据库没有名为ded的集合。

默认情况下,MongoDB连接到test数据库,并从show dbs的输出中清除ded是一个数据库。要查询该数据库中集合中的文档,首先需要使用以下命令切换到它:

use ded

然后show collections列出该数据库中的集合。

另请注意,切换后,db是您数据库的实例(此处为ded),因此您将像这样查询您的收藏集:

db.collectionname.find()

因此,如果您的收藏品名称是"航班",

db.flights.find()

请参阅Working with the mongo Shell

答案 1 :(得分:-1)

您可以使用此实用程序(http://3t.io/mongochef/),它易于使用,对新手Mongodb的人有帮助。 虽然您的问题的答案是记录没有通过数据库名称显示。首先编写db.printCollectionStats(),它为您提供集合名称。然后使用集合名称来显示数据。 例 db.printCollectionStats()会给你 XYZ 然后写 db.xyz.find()