Node.js Keystone js findOne返回null
我正在使用KeystoneJS版本4.0.0-beta.5,我正在尝试从我的一个模型加载一些数据,由于某种原因,该模型返回null。我可以加载所有其他模型的数据,但这一个有点狡猾,或者我忽略了一些东西。我们将非常感谢您的任何帮助 节点版本:6.11.2 模型代码Node.js Keystone js findOne返回null,node.js,keystonejs,Node.js,Keystonejs,我正在使用KeystoneJS版本4.0.0-beta.5,我正在尝试从我的一个模型加载一些数据,由于某种原因,该模型返回null。我可以加载所有其他模型的数据,但这一个有点狡猾,或者我忽略了一些东西。我们将非常感谢您的任何帮助 节点版本:6.11.2 模型代码 var keystone = require('keystone'); var Types = keystone.Field.Types; var Event = new keystone.List('Event', { au
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();
路线/视图代码
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');
};
原来我在
routes/index.js
中输入了一个错误
编辑:我想我忘了把这个添加到routes/index.js
app.get('/event', routes.views.event);
app.get('/event/detail/:detail', routes.views.detail);
你打错了
您正在设置locals.data.详细信息此处:
locals.data = {
details: [],
};
q.exec(function (err, result) {
locals.data.detail = result;
console.log(result);
next(err);
});
…但正在将结果保存到本地。数据。详细信息此处:
locals.data = {
details: [],
};
q.exec(function (err, result) {
locals.data.detail = result;
console.log(result);
next(err);
});
谢谢,你是对的,我有一个输入错误,但令人惊讶的是,它在routes/index.js中。没问题。很高兴这有帮助。