猫鼬模型架构引用不起作用-电子商务模型

时间:2019-01-12 18:23:12

标签: javascript node.js mongodb mongoose

我正在创建具有以下架构的多供应商电子商务平台。

  $('#loadMore').on('click', (e) => {
    e.preventDefault();
    $('.moreArticle:hidden').slice(0, 6).slideDown();
    if ($('.moreArticle:hidden').length === 0) {
      $('#loadMore').fadeOut('slow');
    }
  });

如何在提及多个用户的同时保存多个产品?后来我想根据用户填充产品。

1 个答案:

答案 0 :(得分:2)

您的问题在于引用集合。在这里编译模型

var AllUser = mongoose.model('User', user, 'AllUsers');
var Allproducts = mongoose.model('Product', product, 'AllProducts');

您使用产品,对于数据库收集,您使用AllProducts。这就是问题所在,...尝试这样做

 var Users = mongoose.model('Users', user, 'Users');
 var Products = mongoose.model('Products', product, 'Products');

提供适当的命名约定。

此代码中也有错字..我已将其修复

var product = new Schema(
    {
        sku: { type: String, required: true, unique: true },
        title: { type: String, required: true },
        category: { type: Array, default: [] },
        images: { type: Array, default: [] },
        groups: { type: Array, default: [] },
        price: { type: Number, default: null },
        unit: { type: String, default: null },
        quantity: { type: Number, default: null },
        description: { type: String, default: null}
    }
);

也在您的用户架构中

var user = new Schema(
{
    uid: { type: String, index: true, unique: true },
    firstName: { type: String, required: true, default: null },
    lastName: { type: String, default: null, default: null },
    userEmail: { type: String, unique: true, required: true, lowercase: true, 
    },
    userProfileImg: { type: String, required: true, default: null },
    userDesignation: { type: String, default: null },
    userMobile: { type: Number, required: true, default: null },
    products: [{ type: Schema.Types.ObjectId, ref: 'Product' }]
  }
);

将产品制作为数组类型,以便您可以存储多个产品ID