So suchen Sie in mehreren Feldern nach Text oder Ausdruck

db.movies.find({"original_title" : {$regex: input_data, $options:'i'}}, function (err, datares){
            if (err || datares == false) {
                db.movies.find({"release_date" : {$regex: input_data + ".*", $options:'i'}}, function (err, datares){
                    if(err || datares == false){
                        db.movies.find({"cast" : {$regex: input_data, $options:'i'}}, function (err, datares){
                            if(err || datares == false){
                                db.movies.find({"writers" : {$regex: input_data, $options:'i'}}, function (err, datares){
                                    if(err || datares == false){
                                        db.movies.find({"genres.name" : {$regex: input_data, $options:'i'}}, function (err, datares){
                                            if(err || datares == false){
                                                db.movies.find({"directors" : {$regex: input_data, $options:'i'}}, function (err, datares){
                                                    if(err || datares == false){
                                                        res.status(451);
                                                        res.json({
                                                            "status" : 451,
                                                            "error code": "dataNotFound",
                                                            "description" : "Invalid Data Entry."
                                                        });
                                                        return;
                                                    } else{
                                                        res.json(datares);
                                                        return;
                                                    }
                                                });
                                            } else {
                                                res.json(datares);
                                                return;
                                            }
                                        });
                                    } else {
                                                res.json(datares);
                                                return;
                                    }
                                });
                            } else {
                                res.json(datares);
                                return;
                            }
                        });
                    } else {
                        res.json(datares);
                        return;
                    }
                });
            } else {
                res.json(datares);
                return;
            }
        });

Ich versuche, eine so genannte "All-in-One" -Suche zu implementieren, damit meine Anwendung bei jeder Eingabe von filmbezogenen Informationen alle relevanten Informationen zurückgibt. Allerdings ist mir aufgefallen, dass diese Transaktion im Backend teuer sein kann und der Host manchmal sehr langsam ist.

Wie schließe ich die DB-Verbindung reibungslos und wo soll ich sie verwenden?

Ich lese hier, dass es am besten ist, eine Mongodb-Verbindung in node.js nicht zu schließen >>Warum wird empfohlen, keine MongoDB-Verbindung im Node.js-Code zu schließen?

Ist das der richtige Weg, eine All-in-One-Suche zu implementieren, indem verschachtelte Suchbefehle verwendet werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage