跳到主要内容
CNode

mongodb中,如何不区分大小写查找?

社区
Bblueandhack发布于 12 年前最后回复 12 年前
5144770

如两个相同的用户名CNODE和cnode 前者已注册,将要注册后者 在node中

User.findOne({username: {$regex: username, $options: "i"}}, {username: 1, email: 1, create: 1, head: 1}, function (err, user) {
        callback(err, user);
});

但是这么写的话cn和cno还有cnod都会算作已注册过,如何写才可以?

查看回复

回复 (5)

A
alsotang#512 年前
引用 jiangzhuo存的時候冗余一個已經轉換為小寫的字段做查詢用,在寫少查多的的情況下很有用。

@blueandhack 对的,比如

  1. 用户输入的包含大小写的存为 showname
  2. 将 showname downcase 存为 username
A
alsotang#412 年前

我查了查,好像只能用正则来做了。不懂效率会不会慢。

D
dotnil#312 年前

$regex: '^' + username + '$' 也可以吧?不过实时生成 regex 很容易被用户调戏

J
jiangzhuo#112 年前

存的時候冗余一個已經轉換為小寫的字段做查詢用,在寫少查多的的情況下很有用。

参与回复

登录后即可参与回复。登录