我需要一个帮助。我需要使用Node.js和MongoDB检查数据库中是否存在集合。这里我使用mongoJS作为节点驱动程序。我在下面解释我的代码。
var mongoJs=require('mongojs');
var md5 = require('md5');
var dateTime = require('node-datetime');
var collections=['f_users'];
var MONGOLAB_URI="mongodb://user:*****123%40@ds127153.mlab.com:27153/fgdp";
var db=mongoJs(MONGOLAB_URI,collections);
exports.userSignup=function(req,res){
var email=req.body.email;
var password=req.body.password;
var dob=req.body.dob;
var dt = dateTime.create();
var createdDate=dt.format('Y-m-d H:M:S');
var updateDate=dt.format('Y-m-d H:M:S');
db.f_user_login
db.f_user_login.insert()
}
我需要在db内部存在集合f_user_login
。如果不存在,它将插入所需的文件。请帮助。
答案 0 :(得分:1)
我想您首先需要将集合添加到数据库中。
var db=mongoJs(MONGOLAB_URI,['f_user_login', 'f_users']);
然后你可以尝试运行这个
var fUserLoginExist = db.f_user_login.findOne();
if (fUserLoginExist) {
// the collection exists
} else {
// the collection does not exist
}
希望有所帮助
答案 1 :(得分:0)
当我想检查集合是否存在时,我在下面使用了一段简单的代码
var nmColl = "MyCollection";
if(db.getCollectionNames().find(function(el) {return el == nmColl;}) == null)
{
//do something
}
对于MongoDB up 3.0来说是好的。首先,当我查找集合的指定名称时,有一个函数 db.getCollectionNames()返回所有存在的集合。例如,如果没有必要的集合,我将创建它。