mongodb - Meteor:如何做一个不区分大小写的collection.findOne()?

标签 mongodb meteor

我正在实现一种让用户在我正在编写的 Meteor 应用程序中更改其用户名的方法。在接受更改之前,我想检查用户名是否已经存在。用户名可以包含大写和小写,但无论大小写,它们都必须是唯一的名称。例如,bobBob 不能同时存在。

问题是我似乎无法弄清楚如何执行不区分大小写的 collection.findOne()。例如,假设我有一个名为 Profiles 的集合,我希望能够执行以下操作:

newName = "bob";

//Assume "Bob" exists as a username in the Profiles collection;

var isAlreadyRegistered = Profiles.findOne({"username": newName});

if (isAlreadyRegistered == null) {
  saveUsername();
};

最佳答案

您可以使用 regular expression.

var isAlreadyRegistered = Profiles.findOne({"username": /^newName$/i });

或者你也可以这样查询:

 var isAlreadyRegistered = Profiles.findOne({ "username" : {
                     $regex : new RegExp(newName, "i") } }
               );

关于mongodb - Meteor:如何做一个不区分大小写的collection.findOne()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028008/

相关文章:

javascript - 在node.js Web应用程序中,客户端是通过url路由与服务器通信的唯一方法吗?

swift - 如何从 MongoDB 存储和检索 Swift Data 或 NSData?

node.js - meteor 的铁路由器 : get query parameter on both Client and Server Side

node.js - 使用 mongoose 查找文档、执行一些业务逻辑并删除

node.js - mongoose document.validate 从 4.4x 更新到 ^4.5.1 后抛出 RangeError

mongodb - Mongoose - 找不到结果时总是返回 null 而不是错误?

javascript - 是否可以在本地 meteor 包中使用 Jade ?

meteor - 使用 Velocity 测试 Meteor 包?

javascript - meteor 路由没有响应

javascript - 如何在 Meteor JS 中通过 ID 选择用户?