首页 文章

如果对象字段在MondoDB / Mongoose中是唯一的,则将对象添加到数组中

提问于
浏览
1

这是我的架构:

let userSchema = new Schema({
    email: { type: String, required: true },
    password: { type: String, required: true },
    books: [{ cover: String, title: String, link: String }],
});

我正在将一个对象推送到books数组,只有当该对象尚不存在时 . 我不明白为什么这不起作用:我说找到用户,检查 books 数组以确保 Headers 不存在将新对象添加到books数组中 . 但是重复仍会出现在我的数组中 .

note :查询正在一个函数内执行,该函数传递 model ,_ user ,并且包含书籍数据的对象名为 info ,因此 info.title .

model.findOneAndUpdate(
    { email: user.email, 'books.title': { $ne: 'info.title  ' } },
    { $addToSet: { "books": { title: info.title, cover: 
    info.cover, link: info.link } } },
    { new: true },
    (err, user) => {
        if (err) throw err;
        console.log(user);
        }
    )

欣赏方向

1 回答

相关问题