MongoDB:无法删除在Localhost上运行的文档

时间:2011-12-24 02:59:32

标签: mongodb

我无法弄清楚如何删除我在测试应用时创建的文档。从mongo shell中我得到了这个:

> db.carshare.remove();
> show dbs
carshare    0.203125GB
crushFlow   0.203125GB
local   (empty)
test    (empty)
> db.carshare.remove({});
> show dbs
carshare    0.203125GB
crushFlow   0.203125GB
local   (empty)
test    (empty)

我是初学者,必须遗漏一些非常明显的东西,帮助吗?

2 个答案:

答案 0 :(得分:1)

MongoDB的层次结构为DB -> collection -> documents

那么,您是否尝试删除数据库,集合或文档?

假设一个DB'foo',带有一个集合'test',带有两个文件:

> db.test.find();
{ "_id" : ObjectId("4ef54ed6c143a725c52d7ff6"), "name" : "mongo" }
{ "_id" : ObjectId("4ef54eeec143a725c52d7ff7"), "name" : "bob" }

删除文档:

> db.test.remove({'name':'bob'});
> db.test.find();
{ "_id" : ObjectId("4ef54ed6c143a725c52d7ff6"), "name" : "mongo" }

删除集合:

> db.test.drop();
true
> show collections;
system.indexes

删除数据库:

  

db.dropDatabase();       {“掉线”:“foo”,“ok”:1}

Mongo文档非常好:

http://www.mongodb.org/display/DOCS/Overview+-+The+MongoDB+Interactive+Shell#Overview-TheMongoDBInteractiveShell-Deleting

http://www.mongodb.org/display/DOCS/dbshell+Reference

答案 1 :(得分:0)

“carshare”和“crushFlow”是数据库的名称(这是从showdb获得的输出)。如果要查看集合以从use dbname类型中删除文档(默认为test),然后键入show collections

显示的集合列表可以通过执行db.collection.remove()删除其文档,其中collection是集合名称,db现在通过use databasename命令设置为所需的数据库。

祝你好运和欢呼!