我正在实现一种让用户在我正在编写的 Meteor 应用程序中更改其用户名的方法。在接受更改之前,我想检查用户名是否已经存在。用户名可以包含大写和小写,但无论大小写,它们都必须是唯一的名称。例如,bob
和 Bob
不能同时存在。
问题是我似乎无法弄清楚如何执行不区分大小写的 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/