1

我是沙发新手,但我正在追踪一个错误,并且想要一个视图,该视图将发出特定类型的所有文档,其中某个键的值不是数组。

我试过

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

但它会返回所有类型为“MyType”的文档,即使 doc.Stuff 是一个数组。我想做的事可能吗?我只是犯了一个愚蠢的错误吗?

作为记录,这只是我用来希望追踪错误的临时视图。

4

2 回答 2

1

尝试:

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

您不应该依赖constructor或依赖于constructorlike的任何东西instanceof。我建议鸭子用这样的东西打字:

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