【问题标题】:MongoDB: Can't Remove Documents That Run On LocalhostMongoDB:无法删除在 Localhost 上运行的文档
【发布时间】:2011-12-24 02:59:31
【问题描述】:

我不知道如何删除我在测试应用程序时创建的文档。从 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)

我是一个初学者,一定遗漏了一些非常明显的东西,帮助?

【问题讨论】:

  • 是否需要删除集合或集合内的文档..?

标签: mongodb


【解决方案1】:

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

那么,您是要删除数据库、集合还是文档?

假设一个数据库“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(); { "dropped" : "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

【讨论】:

    【解决方案2】:

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

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

    祝你好运和欢呼!

    【讨论】:

      猜你喜欢
      • 2019-08-31
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多