2016-12-21 13 views
-1

MongoDBコレクションからデータを取得する必要があります。ここに私のコレクションの例があります。MongoDBを使用してデータを取得する方法

kf_promotion:

{ 
    "_id":Objectid(12we34rbgty768ju), 
    "name":"Raj", 
    "emails":"[email protected]" 
} 
{ 
    "_id":Objectid(12we34rbgty768y65ju), 
    "name":"Ram", 
    "emails":"[email protected],[email protected]" 
} 
{ 
    "_id":Objectid(12we34rbgty768y65du), 
    "name":"Ramlu", 
    "emails":"[email protected]" 
} 

私は上記のコレクション内の3つの文書を持っています。 私は[email protected]としてデータを見つける必要があります。いくつかのレコードでは、カンマで区切られた複数の電子メールが存在します。

与えられた([email protected])がカンマで区切られた電子メール文字列に属する場合、そのドキュメントも取得されます。ここで私は条件付きのクエリを見つける必要があります。私を助けてください。

答えて

-1

json_decodeforeachを使用する必要があります。ここで

+0

説明できますか? – subhra

0

はクエリです:

//your db connection file 
$collection = $db->tablename; 
$output = $collection->find(array('emails' => '[email protected]')); 

はそれが役に立てば幸い!

+0

@ prakash tank:find condtionを使用して取得するドキュメントの数を教えてください。 – subhra

+0

**指定された([email protected])が、その文書が取り込むカンマで区切られた電子メール文字列に属する場合**この条件は上記のコードでは満たされません –

+0

FIND_IN_SET()を試してください –

0

電子メールID欄のあなたの所与の条件は、カンマで区切られた複数の電子メールIDが含まれているによると、あなたは LIKEまたはREGEXを必要としています。試してみてください:

$collection = $db->tablename; 
$regex = new MongoRegex("/^[email protected]/i"); // i for case insensitive search 
$output = $collection->find(array('emails' => $regex)); 
関連する問題