【发布时间】:2020-02-11 03:42:19
【问题描述】:
MongoDB 新手。仅当该集合中不存在同名文档时,我才尝试将新文档添加到现有集合中。我首先使用 if/else 语句来检查是否存在与新条目同名的文档,如果没有,则使用 else 语句来创建新条目。无论我尝试什么,都不会添加新文档,而是返回一个空数组。如有任何帮助,我将不胜感激。
我尝试过切换 if/else 语句;在 if 语句返回时检查 null 和 undefined 值
app.post('/cocktails/new', isLoggedIn, (req, res) => {
// add to DB then show item
let name = req.body.name;
let style = req.body.style;
let spirit = req.body.spirit;
let image = req.body.image;
let description = req.body.description;
let newCocktail = {name: name, style: style, base: spirit, image:
image, description: description}
Cocktail.find({name}, function (err, existCocktail) {
if(existCocktail){
console.log(existCocktail)
}
else {Cocktail.create(newCocktail, (err, cocktail) => {
console.log(cocktail)
if (err) {console.log(err)}
else {
res.redirect('/cocktails/' + cocktail._id)}
})
}
})
})
如果使用 if 函数找不到事件文档,则会执行 else 语句,从而使用 newCocktail 对象创建新文档。
【问题讨论】:
标签: mongodb