Монго Много-много отношений: Как проверить, существуют ли отношения? - PullRequest
0 голосов
/ 26 января 2019

Я создал функцию списка желаний в своем приложении node / mongo, где пользователи могут сохранять продукты в приложении. Как я структурировал модели: если пользователь сохраняет продукт, этот идентификатор продукта добавляется / ссылается в массиве в пользовательской модели, называемой «лайки».

var UserSchema = new mongoose.Schema({
  email: {
    type: String,
    unique: true,
    required: true,
    trim: true
  },
  password: {
    type: String,
    required: true
  },
  likes: [{
    type: mongoose.Schema.Types.ObjectId,
    ref: "Product",
    required: true
  }]
});

На странице магазина я пытаюсь выяснить, как я узнаю, был ли пользователь сохранен в каждой итерации продукта, и использовать эту информацию для создания условия в шаблоне.

На данный момент это мой маршрут магазина:

router.get('/shop', function(req, res, next) {

  Product
  .find({})
  .exec(function(err, products) {
    res.render('products', {
      title: 'Shop',
      template: 'products',
      products: products,
    });
  });

});

Короче говоря, я хочу, чтобы пользователи могли понравиться продукту (чего я достиг), но затем я хочу, чтобы мой шаблон показывал пользователям, какие продукты им нравились и не нравились в любое время, когда я выводил все продукты в магазине:

{{#each products }}
  {{#if the product has been liked by the user already}}
        // This thing should happen.
    {{/if}}
{{/each}}

Как бы я подошел к проблеме?

...