Gibt es eine Methode in mongodb oder Mungo, so kann ich bedingte Abfrage erstellen Wiederholungen zu vermeiden Wie kann ich diese unter bestimmten Code umgehen, wenn „User“ mit dem gleichen Namen in Sammlung ohne Middleware Da springt Middleware direkt das Ausfüllen von Formularen Seite **Wie erstelle ich Zustand in Form von Abfragemethode zu aktualisieren, um Doppelarbeit zu vermeiden
router.get('/page/:id/:username'/foo,
function(req,res){
//How can I bypass this below given code if "User" with same name
//present in collection without using middleware
//Since,middleware directly skips the form filling page
User.findOneAndUpdate({username:req.user.username},
{
$addToSet:{
"messages":{
User:req.params.username,
id:req.params.id
}
}
},
function(err,user) {
if (err) {
throw err;
} else {
res.render("Form");
})
})
//I have to skip the first User.findOneAndUpdate method if it is
//already present
router.post('/page/:id/:username'/foo/post,
function(req,res){
User.findOneAndUpdate({username:req.user.username,
"messages.User":req.pa
rams.username},
{
$push:{
"messages.$.texts":{
message:req.body.message,
username:req.user.username
}
}
},function(err,user){
if (err) {
throw err;
} else {
res.render("Form",{user:user});
}
})
})
//this is what my model look-like
messages:[{
id:{
type : mongoose.Schema.Types.ObjectId,
ref : "User"
},
texts:[{
username:String,
message:String
}],
User:String
}],
gibt es eine Bedingung, die ich in Form von Abfrage in Mungo setzen kann?