Получение этой ошибки при запуске db.messages.remove(). "remove требует запроса в src/mongo/shell/collection.js". любые предложения по устранению этой ошибки?
Remove требует запроса в src/mongo/shell/collection.js
Ответ 1
Как говорится в сообщении, вам нужно предоставить запрос, но он может быть пустым (если вы хотите удалить все документы):
db.messages.remove({})
EDIT: Я хотел бы подчеркнуть комментарий, сделанный Stennie:
Примечание. Если вы действительно хотите удалить все документы в коллекции, быстрее выполнить
collection.drop()
. Операцияremove()
удалит документы по отдельности и обновит индексы при удалении документов; adrop()
немедленно удалит все документы и индексы для коллекции.
Ответ 2
Если вы пытаетесь удалить коллекцию messages
, вам необходимо выполнить db.messages.drop()
.
В противном случае команда db.messages.remove()
используется для удаления определенного документа, и поэтому вам нужно написать запрос, чтобы механизм MongoDB мог узнать, от какого документа нужно избавиться. Напр. db.messages.remove({_ id:}).
Отсутствие {_id:} вызывает ошибку remove needs a query...
.
Ответ 3
Run:
db.collectionname.remove({});
результат:
WriteResult({ "nRemoved" : 7 })