Articles of bookshelf.js

将模型“user”build立为“user_flag”为“user”

我有两个模型: 用户 'use strict'; var Mystical = require('../mystical'), Blog = require('./blog'), Flag = require('./user/flag'); module.exports = Mystical.db.Model.extend({ tableName: 'user', defaults: { isAdmin: 0, isConfirmed: 0 }, blogs: function blogs() { return this.hasMany(Blog, 'userId'); }, flags: function flags() { return this.hasMany(Flag, 'userId'); } }); …和旗帜 : 'use strict'; var Mystical = require('../../mystical'), User = require('../../model/user'); module.exports […]

如何通过API使用BookshelfJS在SQL DB中find一个INT和所有INT

我正在创build一个使用ORM(书架)来查询postgresql的API。 在这种情况下,我想能够find所有属于用户的活动任务(parent_task = *)或属于具有特定父任务(parent_task = 1/2/3 …)的用户的所有任务。 目前,这个端点对于数字父类的任务工作正常,我不想通过编写另一个几乎相同的端点来混乱我的API。 那么我怎样才能使用这个相同的端点通配符? 或者,我应该只写一个单独的端点,而不用'andWhere'查询? exports.assignedTasks = function(req, res){ new User({user_id: req.params.id}) .related('assignedTasks').query(function(qb) { qb.where('active', '<>', '0').andWhere('parent_task', '=', req.params.parent) }).fetch() .then(function(tasks){ if (tasks){ res.status(200).json(tasks) } else{ res.status(404).json({'message' : 'Model not found'}); } }).catch(function(err){ res.status(500).json(err); }) };

如何从子模型获取父表的属性

var ParentModel = bookshelf.Model.extend({ }); var ChildModel = ParentModel.extend({ }); new ChildModel().fetch().then(function(child){ console.log(child.get('parentAttribute')); //undefined }); 我怎样才能从子对象获得inheritance的表属性?

Bookshelf.js – hasOne关系不好

我对bookshelf.js相当陌生,所以请耐心等待。 由于我正在学习,我正在使用MySQL,并有一个非常简单的结构。 即,两个实体,一个辅助键。 这是我的结构: CREATE TABLE IF NOT EXISTS `city` ( `city_id` int(11) NOT NULL, `code` int(11) NOT NULL, `name` varchar(255) COLLATE utf8_bin NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE IF NOT EXISTS `people` ( `people_id` int(11) NOT NULL, `city_id` int(11) NOT NULL, `name` varchar(255) COLLATE utf8_bin NOT NULL, `age` int(11) NOT NULL […]

NodeJS Bookshelf用户 – 关注者关系示例

我试图创build一个用户,追随者关系与书架,但我不能实现它:( 你能用一个简单的样本来模仿我吗? 谢谢你的时间 :) SQL: DROP TABLE IF EXISTS usersfollows; DROP TABLE IF EXISTS users; CREATE TABLE users ( "id" serial NOT NULL , "username" varchar(40) NOT NULL , "email" varchar(255) NOT NULL , "pass" varchar(255) PRIMARY KEY ("id") ); CREATE UNIQUE INDEX "users_username" ON users (username); CREATE UNIQUE INDEX "users_email" ON users (email); CREATE […]

如何在bookhelf.js上一次保存多个寄存器

使用下面的json: { "name" : "Teste", "username" : "teste1", "password" : "teste1", "email" : "teste2@teste", "photo" : "teste", "description" : "teste", "company_posts" : [ {"text": "Oi"}, {"text": "olá"} ] } 和下面的代码: company_posts = req.body.company_posts delete req.body.company_posts bookshelf.Model.extend({ tableName: 'companies' }).forge().save(req.body).then(function(company){ for(var prop in company_posts){company_posts[prop].company_id = company.id} bookshelf.Model.extend({ tableName: 'companies_posts' }).forge().save(company_posts).then(function(company_posts){ res.send(company_posts) }) }) 服务器返回我: Unhandled rejection […]

拒绝承诺没有达到捕获

我试图使用这种方法非顺序诺言输出。 express .json调用成功地从API发送了一个201到用户对象,但是在控制台中,我得到如下所示的未处理拒绝错误。 这似乎应该被控制器中的.catch处理程序捕获。 我想知道为什么会发生这种情况? UserController的 module.exports.postUser = function (req, res, next) { var user = req.body.user; var ip = req.ip; userService.createUser(user, ip) .then(function (user) { res.status(201).json({"user": user.toJSON()}); }) .catch(function (err) { return next(err); }); }; userService module.exports.createUser = function (user, ip) { var user = new Promise(function (resolve, reject) { return resolve(User.forge(user)); }); return […]

joinbookshelf.js

我如何在bookshelf.js中实现以下关系 SELECT user_accounts.user_id, `event_id` FROM `calendar_events` JOIN user_accounts ON user_accounts.user_id = calendar_events.`created_by` LIMIT 10 我的模型 var CalendarEvent = bookshelf.Model.extend({ tableName: 'calendar_events', hasTimestamps: ['created_on'], user: function() { return this.hasOne('UserAccount','user_id'); } }); var UserAccount = bookshelf.Model.extend({ tableName: 'user_account' });

Bookshelf.jsregistry

我试图使用Bookshelf.js的registry插件,因为我认为我遇到了循环依赖,但我没有得到它。 在我得到这个错误之前,我得到一个错误: [Error: A valid target model must be defined for the category hasMany relation] 我有一个类别和标签模型,但我不断收到错误 [Error: The model Tag could not be resolved from the registry plugin.] 我的类别模型如下所示: var knex = require('knex')(config.knex); var bookshelf = require('bookshelf')(knex); bookshelf.plugin('registry'); var Category = bookshelf.Model.extend({ tableName: 'category', tag: function() { return this.hasMany('Tag', 'category_id'); } }); module.exports = bookshelf.model('Category', […]

Bookshelf ORM如何定义模型属性和数据types

我正在使用Bookshelf.js ORM作为我的Express.js应用程序,在Bookshelf ORM中只给出了定义模型和关联的示例。 我没有find任何地方,如何定义模型属性和数据types name: { type: string } age: { type: number } 需要帮助..在此先感谢..