1

私はソファに慣れていませんが、バグを追跡しており、特定のキーの値が配列ではない特定のタイプのすべてのドキュメントを発行するビューが必要です。

私は試した

function(doc) {
    if( doc.Type == "MyType" && !( doc.Stuff instanceof Array ) )
    {
         emit( doc._id, null );
    }
}

しかし、doc.Stuff が配列であっても、タイプ「MyType」のすべてのドキュメントを返しています。私がやりたいことは可能ですか?私は愚かな間違いを犯しているだけですか?

記録のために、これはバグを追跡するために使用している一時的なビューにすぎません。

4

2 に答える 2

1

試してみてください:

if(doc.Type === "MyType" && !isArray(doc.Stuff))
于 2012-07-09T09:36:25.917 に答える
0

constructorなどに依存するものや、に依存するべきではありませconstructorinstanceof。これを次のように入力することをお勧めします。

if( doc.Type == "MyType" && !( doc.Stuff.splice && doc.Stuff.join ) )
于 2012-07-07T04:54:54.883 に答える