0

データベースにいくつかのフィールドがあり、いくつかのレコードではいくつかのフィールドが欠落しているとしましょう。
例:
以下のレコードでは、次のように定義された 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 }

--------------------------------
4

0 に答える 0