MongoDB: не удается удалить документы, которые запускаются на локальном хосте - PullRequest
0 голосов
/ 24 декабря 2011

Я не могу понять, как удалить документы, созданные во время тестирования моего приложения. Из оболочки монго я получаю это:

> 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 ]

1 голос
/ 24 декабря 2011

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 ();{"drop": "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

0 голосов
/ 24 декабря 2011

«carshare» и «crushFlow» - это имена баз данных (это вывод, который вы получаете из showdb).Если вы хотите просмотреть коллекции, чтобы удалить документы из типа use dbname (тест по умолчанию), а затем введите show collections.

В появившемся списке коллекций можно удалить их документы, выполнив команду db.collection.remove.() где collection - это имя коллекции, а db теперь настроена на нужную базу данных с помощью команды use databasename.

Удачи и ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...