以下のdocumentで"_id"の"ymd”で部分一致(2013-01-05%)の検索をしたかった。
{ _id :{ ymd: "2013-01-05 02", i_id:2}, value {...}}
{ _id :{ ymd: "2013-01-05 03", i_id:5}, value {...}}
(1)$regexでやってみたが、nestedのfieldに対して$regexは出来ない模様。
(2)仕方なく以下の様にして今回は検索した。
{ _id :{ ymd: "2013-01-05 02", i_id:2}, value {...}}
{ _id :{ ymd: "2013-01-05 03", i_id:5}, value {...}}
(1)$regexでやってみたが、nestedのfieldに対して$regexは出来ない模様。
- 以下の様に作って見たが全て失敗した。
db.collections_name.find({ '_id.ymd' : "/2013-01-05/"});
db.collections_name.find({ '_id.ymd' : {$regex : "/2013-01-05/" } } );
- _idだからと思い全てのフィールドで条件を付けてみたが失敗。
db.collections_name.find({ _id, {ymd : "/2013-01-05/", i_id : 5 } } );
db.collections_name.find({ _id, {ymd' : {$regex : "/2013-01-05/", i_id :5 } } );
- Regex自体の問題かと思い次の様にNestedされてないfieldでやったら検索出来た。
db.collections_name.find({ field_name : /おに/});
(2)仕方なく以下の様にして今回は検索した。
db.collection_name.find({'_id.ymd' : {$gte :'2013-01-05', $lte:'2013-01-05'}});db.collections_name.find({'_id.ymd' : {$gte :'2013-01-05 00', $lte:'2013-01-05 23'}});
0 件のコメント:
コメントを投稿