Tag: 模型

帆/水线:我如何残留一个模型的实例function?

我们的模型中有一些实例函数,我们可以很好地testing这些函数。 但是当试图加载一个水线实例然后调用实例函数的另一个函数的时候,我们想把这个调用存到实例函数中。 例如,我们试图进行unit testing的function可能如下所示: testFunction: function (id, cb) { Model.findOne(id, function (err, model) { model.instanceFunction(); cb(null, model); }); } 我想存根model.instanceFunction ,但不知道如何做到这一点。 Model.prototype似乎根本不存在。 我可以存根Model._instanceMethods ,但实例函数实际上并不是模型实例上的函数,所以这是行不通的。 任何想法如何做到这一点?

在sails.js中过滤用户发布的数据

我想创build/更新控制器中的模型,如下所示: User.create(postData) 和postData应该是这样的: {name:'Walter Jr', password: '123', gender: 1} 但是,如果一个恶意用户发布如下内容: {name:'Walter Jr', password: '123', gender: 1, anExtraAttribute: 'HAHA'} 我testing和一个Extratrattribute被保存到数据库。 那么有没有办法来过滤postData,只留下在模型中定义的属性?

如何在Sails中访问控制器之外的模型

我正在使用Sails v11。 我有一个模型,每个租户(它是一个多租户应用程序),这是根据控制器内部的逻辑来决定租户采取行动,我试图创build一个“tenantID”/“模型”这个。 我能够在控制器内部做到这一点,但是因为我不想为每个动作创build一个hashMap,所以我试图在configuration文件中创build这个映射,并且打算导出它在控制器中使用。 但是我无法访问控制器之外的模型来创build这个散列表。 我在这个链接上find了这个讨论。 但是,build议的方法不起作用。 var map = new Map(); map.set('item1', Foo) module.exports.modelMap = { productMap: map; } 我收到这些语法错误。 map.set('item1', Foo) –> ReferenceError: Foo is not defined map.set('item1', sails.models.Foo) –> ReferenceError: sails is not defined map.set('item1', sails.models['Foo']) –> ReferenceError: sails is not defined 使模型名称小写,产生相同的错误。 firstuser@ubuntu:~/project-dir$ npm –version sails 2.14.7 firstuser@ubuntu:~/project-dir$ sails –version 0.11.2 […]

如何从admin部分在keystone.js中创build页面

我是新的node.js以及keystone。 我想创build一个新的模型称为页面相同的职位是从梯形默认。 我创build的新模型是代码 var pages = new keystone.List('pages', { map: { name: 'title' }, autokey: { path: 'slug', from: 'title', unique: true } }); pages.add({ title: { type: String, required: true }, state: { type: Types.Select, options: 'draft, published, archived', default: 'published', index: true }, author: { type: Types.Relationship, ref: 'User', index: true }, publishedDate: […]

Loopback Strongloop从模型实例中获取ModelName

使用回送我需要从模型实例中获取modelName。 有任何想法吗? var myAccount = new app.models.Account({name: 'ACME'}); var modelName = myAccount.modelName;` //should get 'Account'

如何build立表与Sequelize.js之间的多对多关系?

我想通过使用Sequelize.js来build立事件表和用户表之间的多对多关系。 用户可以参加更多的活动,一个活动可以有更多的参与者。 因此,我带了一个event_user的中间表,并创build了它的模型。 这里是所有的3个模型: 我的users_model.js: var EventUser = require('./event_user_model.js'); //_______________________Init & Config Sequelize__________________ const Sequelize = require("sequelize"); const sequelize = new Sequelize('db', 'root', '', { host: 'localhost', dialect: 'mysql', pool: { max: 5, min: 0, idle: 10000 } }); //____________Declare table structure ________________________ var User = sequelize.define('user', { id: { type: Sequelize.STRING, primaryKey: true, }, […]

修改Mongoose返回的对象

我一直在研究Mongoose文档,我找不到一种方法来实现我想要做的事情。 考虑一个MongoDB用户集合。 还要考虑一个Mongoose UserSchema,它具有在DB集合中find的所有字段。 现在,我想login到控制台,所有用户,但具有更改的属性。 有点像做: Users = mongoose.UserSchema; ApiUserSchema; Users.find(function(err,users){ //for each user that mongoose finds, //I want to convert from UserSchema to "ApiUserSchema" //Something like the following: newUsers = users.ToApiUserSchema(); console.log(newUsers); }) users.ToApiUserSchema(): function toApiUserSchema(user){ username = user.username; email = user.email; someAggregate = user.Username + user.Email; …….and so on…..; } 鉴于.find()函数的asynchronoustypes,我不知道这是否可以完成。 我来自C#和PHP的背景,只能用于关系型数据库,这可以通过在User类中有一个函数来轻松完成,它只返回想要的值。 可以这样做吗?

testingmongoose模型是否有意义?

我是新来的一般testing,虽然我看到像meanjs或幽灵testing他们的模型的一些项目,其中一些对我来说没有多大意义。 例如,我见过一些人做这样的事情: it( 'should create a new group', function( done ) { utils.fixtures.createGroup() .then( function( group ){ group.should.exist; done(); }).catch( function( err ){ done(err); }); }); 这看起来像他们正在testingmongoose,而不是testing自己的代码。 如果模型包含自定义的validation方法等,testing它是非常有意义的。 所以我的问题是,除非是模式方法/钩子,否则testing任何与模型相关的东西是否有意义?

如何用node-orm导出模型?

我正在testingnode-orm ,我找不到导出模型的正确方法。 这里是模型定义(./models/user.js): var orm = require('orm'); var db = orm.connect('pg://user@localhost/accounts', function(success, db) { if (!success) { console.log('Could not connect to database.'); return; } var User = db.define('user', { … // Model schema }); module.exports = User; }); 当我尝试在别处使用它(例如./app.js)时: var User = require('./models/user'); … app.get('/test', function(req, res) { var user = new User({ … }); […]

在另一个模型中需要不同文件中的mongoose模型模式

我正在试图在模型中要求我的模型。 我相信我的要求的path是正确的,因为在我的要求没有错误,但似乎不会触发我的模型,每当我保存一个新的实例。 我在这里错过了什么? role.js module.exports = function () { var mongoose = require('mongoose'), Schema = mongoose.Schema; var role = new Schema({ type: String, level: Number, }); role.pre("save",function(next) { this.type = 'member'; this.level = 0; next(); }); return mongoose.model('Role', role); } user.js的 module.exports = function (connection) { var mongoose = require('mongoose'); Role = require('./role.js'), Schema = […]