データベースにいくつかのフィールドがあり、いくつかのレコードではいくつかのフィールドが欠落しているとしましょう。
例:
以下のレコードでは、次のように定義された map reduce があります。opt1 と opt2 はすべてのレコードに含まれているわけではないため、この map-reduce は結果をもたらしません。
しかし、map 関数から opt1 と opt2 を削除すると、opt1 と opt2 を含むすべての結果が得られます。誰かがこの問題で私を助けることができますか? ゼロより大きい opt1 または opt2 を持つすべてのレコードを見つける必要があります。
function Map() { emit(
this.id, { "name" : this.name, "opt1": this.opt1, "opt2": this.opt2} );}
function Reduce(key, values) { return values[0]; }
Query : { $or : [ {'opt1': {'$gt': 0} }, {'opt2': {'$gt': 0}}] }
Inline : true
------rec 1 ----- { id : 1 opt1 : 34 opt2 : 46 name : one }
------rec 2------- {id : 2 opt1 : 32 name : two }
----- rec 3 ------ {id : 3 name : three }
{---- rec 4 ----- id : 4 opt2 : 22 name: four }
--------------------------------