[英]Keystone js findOne returning null
I am using KeystoneJS version 4.0.0-beta.5 and I am trying to load some data from one of my models which is returning null for some reason. 我正在使用KeystoneJS 4.0.0-beta.5版本,并且试图从我的模型之一加载某些数据,由于某种原因该模型返回null。 I am able to load the data for all my other models, but this one is a bit tricker or I am overlooking something. 我可以为所有其他模型加载数据,但是这有点棘手,或者我忽略了某些内容。 Any and all help would be greatly appreciated. 任何和所有帮助将不胜感激。
Node version: 6.11.2 节点版本:6.11.2
Model code 型号代码
var keystone = require('keystone');
var Types = keystone.Field.Types;
var Event = new keystone.List('Event', {
autokey: {
path: 'slug',
from: 'title',
unique: true
},
map: {
name: 'title'
}
});
Event.add({
title: {
type: String,
required: true
},
info: {
type: Types.Html,
wysiwyg: true,
height: 300
},
form: {
type: Types.Boolean
}
});
Event.defaultColumns = 'title';
Event.register();
Route/View Code 路线/查看代码
var keystone = require('keystone');
exports = module.exports = function (req, res) {
var view = new keystone.View(req, res);
var locals = res.locals;
// Set locals
locals.section = 'event';
locals.filters = {
detail: req.params.detail,
};
locals.data = {
details: [],
};
// load event data
view.on('init', function (next) {
var q = keystone.list('Event').model.findOne({
slug: locals.filters.detail,
})
q.exec(function (err, result) {
locals.data.detail = result;
console.log(result);
next(err);
});
});
// Render the view
view.render('detail');
};
It turns out I had a typo in routes/index.js
. 原来我在routes/index.js
有一个错字。
Edit: I believe I just forgot to add this to routes/index.js
. 编辑:我相信我只是忘记将其添加到routes/index.js
。
app.get('/event', routes.views.event);
app.get('/event/detail/:detail', routes.views.detail);
You have a typo. 你有错字
You are setting locals.data. 您正在设置locals.data。 details here: 详细信息在这里:
locals.data = {
details: [],
};
...but are saving your result into locals.data. ...但是将您的结果保存到locals.data中。 detail here: 详细信息在这里:
q.exec(function (err, result) {
locals.data.detail = result;
console.log(result);
next(err);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.