db.collection(collection_name).drop() 不工作。创建的数据库没有被删除

Posted

技术标签:

【中文标题】db.collection(collection_name).drop() 不工作。创建的数据库没有被删除【英文标题】:db.collection(collection_name).drop() not working. The database created is not being dropped 【发布时间】:2017-02-12 08:16:48 【问题描述】:

我创建了一个名为“db”的数据库和一个名为“Dishes”的集合。我正在使用猫鼬和 mongodb。下面是模型代码和服务器代码。当我运行服务器时,它显示菜名重复,因此抛出“重复键错误”错误。我想这是因为数据库没有被删除,因此菜的名称(根据我的代码必须是唯一的)在多次运行时不是唯一的。但是,也可能存在不同的错误。请在这里帮助我。谢谢!

这是服务器代码。

var assert=require('assert');
var mongoose=require('mongoose');

var Dishes=require('./models/dishes1mongoose');

var url='mongodb://localhost:27017/conFusion';
mongoose.connect(url);
var db=mongoose.connection;

db.on('error', console.error.bind(console, 'connection error: '));
db.once('open', function()
//connected to the server
console.log("Connected to the server successfully");

    Dishes.create(
        name: 'Uthapizza', description: 'I dont know'
    , function(err, dish)
        if (err) throw err;
        console.log(dish);

        var id=dish._id;

        Dishes.findByIdAndUpdate(id, $set:description: 'Updated version of     I still dont know', new: true)
        .exec(function(err, dish)
            if (err) throw err;
            console.log(dish);

            db.collection("Dishes").drop(function()
                db.close();
            );
        );
    );
);

这是猫鼬模型的代码。

var mongoose=require('mongoose');

var Schema=mongoose.Schema;

//create a Schema
var dishSchema= new Schema(
    name : type: String, required: true, unique: true,
    description : type: String, required: true
,

    timestamps: true
);

//create a collection that uses this Schema. It will be of the name that is     plural of the argument "Dish".
var Dishes=mongoose.model("Dish", dishSchema);
//make it available elsewhere
module.exports=Dishes;

【问题讨论】:

我什至把'unique: false'放在模型代码中,暂时避免这种情况,但它仍然给出同样的重复错误。我在这里真的很困惑! 【参考方案1】:

尝试使用以下内容:

mongoose.connection.collections['Dishes'].drop(cb)

https://***.com/a/10088410/4442630

【讨论】:

以上是关于db.collection(collection_name).drop() 不工作。创建的数据库没有被删除的主要内容,如果未能解决你的问题,请参考以下文章

3mongoDB索引

MongoDB基本操作-删除文档

mongo各类语句积累

MongoDB笔记

Python + MongoDB,如何动态选择DB Collection

mongodb的基本操作之数据创建索引