0

以下のドキュメント構造を検討してください(users

id user_id phone

1  Balan   {0   - id = adsfasf232332  - number = 908767778}, 
                       ...........{1   - id = adsf343fadfasd - number = 22232323}
2  Kumar   {0   - id = adsfasf24442  - number = 2727272}

以下のクエリに相当するMongoモデルクエリとは何ですか

select * from  users where user_id = "Balan" and phone_number in (22232323)

以下のクエリで試しましたが、役に立ちません

temp = User.where(user_id: => "Balan").where('phone.number' => "22232323")

私は何が間違っているのですか?

注:クラスPhoneは、クラスUserに埋め込まれています。

4

2 に答える 2

1

Mongoid 3 を使用している場合は、次のように言えます。

temp = User.where(user_id: 'Balan').in('phone.number' => ['22232323'])

このクエリ構文は、Origin (現在は Mongoid の依存関係) によって提供されています。[1]

于 2013-01-18T01:55:13.667 に答える
1

解決策は次のとおりです。

temp = User.where(user_id: => "Balan",:'phone.number'.in => ["22232323"])

または、別の方法で実行したい場合

temp = User.where(user_id: => "Balan").where(:'phone.number'.in => ["22232323"])
于 2013-01-17T14:03:16.737 に答える