Как проверить, существует ли коллекция с помощью MongoJS и Node.js
Мне нужна одна помощь Мне нужно проверить, существует ли коллекция в БД, используя 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()
}
Здесь мне нужно, если коллекция f_user_login
существуют внутри БД или нет. Если не существует, он вставит необходимый документ. Пожалуйста, помогите.
2 ответа
Я полагаю, что вам сначала нужно добавить коллекцию в вашу базу данных.
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
}
Надеюсь, поможет
Когда я хочу проверить наличие коллекции, я использую простой фрагмент кода ниже
var nmColl = "MyCollection";
if(db.getCollectionNames().find(function(el) {return el == nmColl;}) == null)
{
//do something
}
Это хорошо для MongoDB до 3.0. Во-первых, есть функция db.getCollectionNames(), которая возвращает все существующие коллекции, когда я смотрю указанное имя коллекции. Если нет необходимой коллекции, например, я создам ее.