У меня есть следующий код:
var product = await Product.findOne({$and:[
{ name: req.body.name },
{ extraData: [
{brand: req.body.extraData.brand} ,
{quantity: req.body.extraData.quantity},
{typeOfQuantity: req.body.extraData.typeOfQuantity}]}
]});
if (product) res.status(400).send("Product already registered.");
Что я хотел бы сделать, это проверить, существует ли данный продукт с этими полями в базе данных, поэтому у меня нет нескольких одинаковых объектов, но у меня естьпроблема во вложенном объекте json.Приведенный выше код не работает и позволяет хранить в массиве несколько одинаковых продуктов.
Scema продукта:
const productSchema = new mongoose.Schema({
name: {
type: String,
required: true,
minlength: 1,
maxlength: 255
},
extraData: {
type: extraDataSchema,
required: true
}});
const extraDataSchema = new mongoose.Schema({
brand: {
type: String,
required: true,
minlength: 1,
maxlength: 255
},
quantity: {
type: Number,
required: true,
minlength: 1,
maxlength: 10
},
typeOfQuantity: {
type: String,
required: true,
minlength: 1,
maxlength: 255
}
});