я пытаюсь получить коллекцию в mongo db, преобразовать ее в массив и сравнить с уже созданным массивом, чтобы просто сохранить новые записи.
//posts is an already created array with information
//setting a var for the collection
let m_pendingPosts = db.collection("pendingPosts");
//getting collections and converting them to an array, also creating a callback
m_pendingPosts.find().toArray((err, pendingPosts) => {
posts.forEach(post => {
let found = pendingPosts.find(pendingPost => {
return pendingPost.id == post.id;
});
// if is NOT in the collection, it adds it
if (!found) {
db.collection('pendingPosts').insertOne({
id: post.id,
url: post.url,
permalink: post.permalink,
author: post.author
})
.then(() => {
// the code actually arrives here, it adds the items to the collection, but it triggers the error here
console.log("added things to the database")
})
.catch(err => {
// code is not triggering here
if (err) console.log("error")
});
}
});
});
но я всегда получаю эту ошибку: Unhandled rejection TypeError: Promise chain rejection: Attempted to call undefined which is not a function.
это фактически добавляет то, что я хочу в базу данных, мой код работает, но после добавления их я получаю этоошибка, кто-нибудь знает, что я делаю не так?