Вопрос новичка MongoDB: проверка, существует ли документ

#mongodb

#mongodb

Вопрос:

Выполнив поиск в Интернете, я выяснил, что это способ проверить, существует ли документ уже.

 function addSpam(spam){
    MongoClient.connect(uri, function(err, db) {
        if (err) throw err;
        const dbo = db.db("database0");
        const query = {link: spam};
        const document = dbo.collection("spams").find(query).limit(1);
        console.log(document);
        db.close();
        });       
}
 

Журнал вывода

Теперь моя проблема в том, что возвращается курсор (как вы можете видеть в журнале вывода), я хотел бы вернуть bool, заранее спасибо. (был ли документ найден или нет)

Комментарии:

1. почему бы не выполнить тест if / else?

2. @Minsky курсор возвращается, когда я это делаю, я не могу использовать его как оператор. (действительно, он выходит из строя)

Ответ №1:

Я понял это:

 function addSpam(spam){
MongoClient.connect(uri, function(err, db) {
    if (err) throw err;
    const dbo = db.db("database0");
    const query = {"link": spam}; //spam is item to find inside a document and link is the field name of the document
    dbo.collection("spams").find(query).toArray(function(err, result) {
        if (err) throw err;
        const docFound = result.length>0;
        console.log(docFound);
        db.close();
      });
    })}; 
 

Вероятно, есть лучший метод, чем этот, но теперь он работает нормально.