-2
リレーションシップが設定されているコンテンツをフィルタリングするクエリを作成したいと思います。Keystonejs - リレーションシップのアイテムのクエリ
Laptopy.js
var keystone = require('keystone');
var Types = keystone.Field.Types;
var Laptop = new keystone.List('Laptop', {
map: { name: 'nazwa' },
autokey: { path: 'slug', from: 'nazwa', unique: true },
});
Laptop.add({
nazwa:{type: String, required: true},
grafika:{type: Types.Relationship, ref: 'KartaGraficzna'}
});
Laptop.register();
KartaGraficzna.js
var keystone = require('keystone');
var Types = keystone.Field.Types;
var KartaGraficzna = new keystone.List('KartaGraficzna', {
map: { name: 'nazwa' },
autokey: { path: 'slug', from: 'nazwa', unique: true },
});
KartaGraficzna.add({
nazwa:{type: String, required: true},
producent:{type: Types.Select, options: 'nVidia, AMD, Intel'},
});
KartaGraficzna.relationship({ ref: 'Laptop', path: 'grafika' });
KartaGraficzna.register();
QUERY
var Laptop = keystone.list('laptops');
Laptop.model.find()
.populate('grafika')
.where('grafika.nazwa', 'GTX980')
.exec(function (err, laptop) {
locals.data.laptopy = laptop;
next(err);
});
私は、このクエリが間違っている知っている、これはそのように動作しますではありません。 誰かがこれを行う方法を教えてもらえますか? 私はあなたの助けに感謝します