次のようなアカウント ドキュメントがあります。
_id: ###
email: string
password: md5(string)
altemail: [{ email: string
verified: time},
{ email: string
verified: time},
{ ... }]
また、ユーザーがアカウントを作成できるようにする前に、一意の電子メールを確認したいと思います。ただし、現在のユーザー _id の保存も許可したいと思います。
私の本能は使用することです:
$db->users->find(array(
'$or' => array(array("email" => $email),
array("altemail.email" => $email))
'_id' => array('$nin' => array($myID))
));
しかし、これは私にはうまくいきません。誰かがmysqlとほぼ同等のクエリを設定する方法を教えてくれませんか:
SELECT *, count(_id) FROM users WHERE (email = $email OR altemail.email = $email) AND (_id != $myID);
みんなありがとう。