質問の場合は次のとおりです。mongodb ORとANDで検索クエリ
if(($version[0] == 1)||($version[1] > 6)||($version[2]>=14 && $version[1] == 6))
{
echo "true";
}
ここで、このクエリをmongodbクエリに変換します。私は次のエントリを持っているMongoのコレクションで :私は次のクエリをしようとすると
{
"main_version" : 0,
"sub_version" : 6,
"build_version" : 14,
"module" : "Co2",
"active" : 1
}
私はMongoのエラーを取得します。
$where = array('$or' => array(
array('main_version'=> (int)$version[0]),
array('sub_version'=> array('$gt'=> (int)$version[1])),
array('$and' => array('build_version' => array('$gte'=> (int)$version[2])),
array('sub_version' => (int)$version[1]),
),
array('active'=> 1),
),
);
エラー:クエリを正規化することはできません:エラーBadValue、このクエリを解決するためにどのように誰を知っています「
を配列を必要ですか?
どのようなプログラミング言語を使用していますか? – notionquest
私は現在phpを使用しています –
6年前のPHPでうまくいきましたが、$と演算子は配列のような配列の配列を受け入れるべきだと思います( '$ and' => array(array( 'build_version' => array( ' ( 'sub_version' =>(int)$ version [1])) 私は 'と'あなたがしているように配列を受け入れると思う 'または'opeartor、ここでは配列の代わりにクエリを渡しています。 –