7

在 mongo shell 中,我可以stat使用以下命令从集合中查找记录:

use gm;
gm.stat.find({});

但未stat在显示收集结果中列出。

4

1 回答 1

1

任何集合实际上一直存在(即,您不会收到“您没有创建集合”的错误消息)。一旦您将第一个文档插入到集合中,它也将在物理上存在(将在磁盘上创建)。因此,如果您真的想确保集合存在,请使用:

db.getCollectionNames()

这将只显示至少插入了一个文档的集合,即使它们当前是空的。

物理创建后,可以使用以下drop命令删除集合:

db.myColl.drop()

这将物理删除它,但“虚拟”仍然存在。

至于你的例子,运行:

db.stat.insert({}); print("Collection stat exists:" + (db.getCollectionNames().indexOf("stat") !== -1));

会告诉你:

Collection stat exists: true
于 2013-08-07T09:12:20.897 回答