【发布时间】:2013-05-23 09:32:05
【问题描述】:
我读了这篇文章,看到了如何在 mongodb 中搜索记录的名字:
http://docs.mongodb.org/manual/reference/sql-comparison/
db.users.find({ firstname: /^bc/ });
但是鉴于我的字符串有两个单词(即名字和姓氏),我如何搜索名字和姓氏。
在 MySQL 中,我使用的是:
SELECT * FROM profiles WHERE match(firstname, lastname) AGAINST ('".$data."');
其中数据包含“mike thompson”。
【问题讨论】:
-
就像 MySQL 一样,你需要选择一个通用的分隔符来分隔名字和姓氏。 MySQL 使用 ` `(空白空间)并且将在输入的
AGAINST数据上执行与 PHP 中的list()相同的操作。因此,要在 MongoDB 中执行此操作:list($first,$last)=explode(' ',$data); $mongo->users->find(array('firstname'=>new MongoRegex($first),'lastname'=>new MongoRegex($last)))