2011-10-03 6 views
0
collection.find({description : data.story.description}, function(err, cursor){ 
    cursor.each(function(err, item){ 
    if(item != null){ 
     console.log("duplicate found\n"+util.inspect(item)); 
    } 
    }) 
}) 

각 루프의 카운터를 사용하지 않고 커서 크기를 얻을 수 있습니까? toArray를 사용MongoDB에서 커서 크기 찾기

collection.find({description : data.story.description}).toArray(function(err,items){ 
    console.log("Items:" + items.length); 
}) 

, 그 크기를 찾을 수있는 배열의 .length 특성 :

답변

2

중복을 확인하는 경우 컬렉션에 첨부 된 count() 메소드를 사용해 볼 수 있습니다. 예 :

collection.count({description: data.story.description}, function(err, count) { 
    if (count > 1) console.log("Duplicates found!"); 
});

Cursor.toArray()는 백엔드에서 cursor.each()를 사용하고 있습니다. 내 예제에서는 post-insert()를 검사한다고 가정하지만 pre- with (count> 0)을 확인하고 insert() if (count == 0)을 호출 할 수 있습니다.

+0

감사합니다. 시도해 보겠습니다. – Jack

1

합리적인 해결책을 발견!