我需要检查某个数据库上是否存在一个集合,如果不存在,则创建它。我知道

db.createCollection(collName, {strict:true}, function(error, collection))

检查托收是否存在collName在创建它和设置error对象。但是我需要一个独立的函数来检查。

勇伟勇伟提问于
美空鸡多西电回答于

collectionNames本地驱动程序的方法Db对象接受可选集合名称筛选器作为第一个参数,以检查集合是否存在:

db.collectionNames(collName, function(err, names) {
    console.log('Exists: ', names.length > 0);
});

在MongoDB本机驱动程序的2.x版本中,collectionNames已被listCollections它接受一个过滤器并返回一个游标,因此您可以这样做:

db.listCollections({name: collName})
    .next(function(err, collinfo) {
        if (collinfo) {
            // The collection exists
        }
    });

回答过的其他问题

活动防刷是如何实现的?

对付那些专业刷量的羊毛党,需要非常多的维度去防止刷单。。 例如做一个活动,限制一个手机号只能领取一次,结果一个人就有上百个手机号。 所以要做很多操作,就比如说: 1. 支付宝限制,一个支付宝只允许提现一次 2. 被封用户上下游用户的邀请码无效 3. 活动用户提现进行人工审核 4....... 展开详请

如何在Windows中手动生成SSH密钥?

PuTTY PuTTY是Windows的SSH客户端。您可以使用PuTTY生成SSH密钥。PuTTY是一个免费的开源终端模拟器,其功能与Windows环境中macOS中的终端应用程序非常相似。本节介绍在Windows环境中使用PuTTY时如何手动生成和上载SSH密钥。 关于PuT...... 展开详请

服务器密码忘记了怎么办?

控制台可以重置密码。 61154F5E-7726-4B56-988C-7633387C1E5C.png ... 展开详请

cos 目前是否支持自定义域名的https?

早就支持了哇,在cdn里建立cos类型即可。

腾讯云服务器可以玩游戏吗?

我刚买了一个com域名,没到一天就报毒,而且这个网站就我一个人知道,还没推广,为什么这样?

这很简单,你注册的域名中之前有人使用过了。他到期了没续费,结果让你注册了。

扫码关注云+社区