Mongodb remove需要在src/mongo/shell/collection.js处进行查询
运行db.messages.remove()时出现此错误。“remove需要在src/mongo/shell/collection.js上进行查询”。有没有解决此错误的建议?正如消息所说,您需要提供一个查询,但它可以是空的(如果您想删除所有文档): 编辑:我想强调以下人的评论:Mongodb remove需要在src/mongo/shell/collection.js处进行查询,mongodb,Mongodb,运行db.messages.remove()时出现此错误。“remove需要在src/mongo/shell/collection.js上进行查询”。有没有解决此错误的建议?正如消息所说,您需要提供一个查询,但它可以是空的(如果您想删除所有文档): 编辑:我想强调以下人的评论: 注意:如果您确实想要删除集合中的所有文档,那么执行一个操作会更快。remove()操作将单独删除文档,并在删除文档时更新索引;drop()将立即删除集合的所有文档和索引 如果试图删除集合消息,则需要执行db.messag
注意:如果您确实想要删除集合中的所有文档,那么执行一个操作会更快。
remove()
操作将单独删除文档,并在删除文档时更新索引;drop()
将立即删除集合的所有文档和索引
如果试图删除集合
消息
,则需要执行db.messages.drop()
否则,命令db.messages.remove()
用于删除特定文档,因此您需要编写一个查询,让MongoDB引擎知道需要删除哪个文档。对于ex.db.messages.remove({u id:})
缺少{{u id:}导致错误,remove需要查询…
运行:
db.collectionname.remove({})代码>
结果:
WriteResult({ "nRemoved" : 7 })
从MongoDB数据库中删除所有集合,请使用以下语法:
db.getCollectionNames().forEach(
function(collection_name){
print('CollectionName: '+ collection_name +', '+ db[collection_name].remove({})
)
}))
输出:
CollectionName: Document_CODE, WriteResult({ "nRemoved" : 20 })
CollectionName: Document_DATA, WriteResult({ "nRemoved" : 10 })
CollectionName: Document_NAME, WriteResult({ "nRemoved" : 10 })
CollectionName: Document_COLLE, WriteResult({ "nRemoved" : 1 })
注意:如果您确实想要删除集合中的所有文档,那么执行一个操作会更快。remove()
操作将单独删除文档,并在删除文档时更新索引;drop()
将立即删除集合的所有文档和索引。我想知道为什么它们不将任何参数标记为有效,而不给出消息。{}
真的有什么意义吗?@MurWade在MongoDB Linux中就是你说的那样。不在必须提供参数的窗口中。真的不知道为什么这段代码可能会回答这个问题,提供关于如何和/或为什么解决问题的额外上下文将提高答案的长期价值。
CollectionName: Document_CODE, WriteResult({ "nRemoved" : 20 })
CollectionName: Document_DATA, WriteResult({ "nRemoved" : 10 })
CollectionName: Document_NAME, WriteResult({ "nRemoved" : 10 })
CollectionName: Document_COLLE, WriteResult({ "nRemoved" : 1 })