sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose sparar dokument även om jag kollar om dokumentet redan finns

JohnnyHK påpekade mitt fel. Med hjälp av biblioteket, Async - Jag har justerat koden för att återspegla hans svar:

function insertFeedItems(feedItems,newFeedID){

async.eachSeries(feedItems, function(item, eachCallBack) {

    let firstName = item.author.substr(0, item.author.indexOf(' '));
    let lastName = item.author.substr(item.author.indexOf(' ') + 1);
    async.waterfall([
            (callback) => {
                authorController.createAuthorInternally(firstName, lastName, function(author) {
                    return callback(null, author, item.categories);
                });
            },
            (author, categories, callback) => {
                categoryController.createCategoryInternally(categories, function(categories) {
                    return callback(null, author, categories);
                });
            },
            (author, categories, callback) => {
                feedEntryController.createFeedEntry(item, author, categories, function(entry) {
                    return callback(null, author, categories, entry);
                });
            },
        ],
        function(waterfallError) {
            if(!waterfallError){
                eachCallBack();
            }
        });
}, function(eachSeriesErr) {
    if(eachSeriesErr) {
        console.log('An item failed to process');
    } else {
        console.log('All items have been processed successfully');
    }
});
}



  1. Mongoose Sparade _id's som en sträng istället för ObjectId

  2. MongoDB aggregeringsramverk $subtrahera

  3. mongodb aggregeringsramverk - Hämta första dokumentets fält för den kapslade arrayen

  4. hur man arbetar med flera åtgärder och får räkna med mongodb?