假设我有一个简单的数据库,并且我正在尝试查找所有会说英语和西班牙语和/或英语和法语(但不是西班牙语和法语)的用户。我有一张users
桌子,上面有一些这样的记录:
{
"username": "jdoe",
"languages": ["english", "spanish", "french"]
}
当我这样搜索时,我得到了预期的结果:
db.find({ "languages" : { $all:['english', 'spanish'], $all:['english', 'french'] } })
但我不知道如何用蛋糕做到这一点。我可以像这样匹配一个语言对:
$this->User->find('all', array('conditions' => 'User.languages' => array('$all' => array('english', 'spanish'))));
但是我被困在如何搜索多对上;数组数组似乎没有这样做。
这是别人开始的项目,所以我对 CakePHP 或 MongoDB 的细微差别不是特别熟悉;我有一种感觉,我忽略了一些明显的东西。有任何想法吗?