首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Mongoose删除数据库?

如何使用Mongoose删除数据库?
EN

Stack Overflow用户
提问于 2012-04-10 08:12:34
回答 11查看 112.8K关注 0票数 112

我正在准备一个用Node.js和Mongoose创建数据库的脚本。我如何检查数据库是否已经存在,如果存在,使用Mongoose删除它?

我找不到办法把它和Mongoose放在一起。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-04-10 20:01:33

没有从mongoose中删除集合的方法,最好的做法是删除其中一个的内容:

Model.remove({}, function(err) { 
   console.log('collection removed') 
});

但是有一种方法可以访问mongodb本机javascript驱动程序,该驱动程序可用于此目的

mongoose.connection.collections['collectionName'].drop( function(err) {
    console.log('collection dropped');
});

警告

在尝试之前进行备份,以防出现任何错误!

票数 178
EN

Stack Overflow用户

发布于 2012-04-29 10:25:06

如果连接上还不存在数据库,Mongoose将创建一个数据库,因此一旦您建立了连接,您就可以查询它,看看其中是否有任何内容。

您可以删除连接到的任何数据库:

var mongoose = require('mongoose');
/* Connect to the DB */
mongoose.connect('mongodb://localhost/mydatabase',function(){
    /* Drop the DB */
    mongoose.connection.db.dropDatabase();
});
票数 94
EN

Stack Overflow用户

发布于 2012-06-04 22:35:15

如果您像这样修改@hellslam的解决方案,那么它将会工作

在集成测试之后,我使用此技术删除数据库

//CoffeeScript
mongoose = require "mongoose"
conn = mongoose.connect("mongodb://localhost/mydb")

conn.connection.db.dropDatabase()

//JavaScript
var conn, mongoose;
mongoose = require("mongoose");
conn = mongoose.connect("mongodb://localhost/mydb");

conn.connection.db.dropDatabase();

HTH至少对我来说是这样的,所以我决定分享=)

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10081452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档