Nodejs微风轻松与MySQL – 。select()不起作用

我使用breeze-sequelize版本0.0.18。 我得到一个奇怪的错误_.pluck is not a function当我尝试使用select()的entityQuery。 如果我删除.select(),它会工作得很好。

我的微风查询看起来像这样:

 var predicate = Predicate.create('transactionDate', '>=', fromDate); var entityQuery = EntityQuery.from('Transactions') .where(predicate) .select('transactionDate'); var sequelizeQuery = new SequelizeQuery(api.db, entityQuery); return sequelizeQuery.execute(); 

回来后,我得到的错误是:

 TypeError: _.pluck is not a function at SequelizeQuery.<anonymous> (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:143:39) at Array.map (native) at SequelizeQuery._processSelect (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:136:56) at SequelizeQuery._processQuery (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:72:8) at new SequelizeQuery (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:43:23) at getTransactions (/Users/shu/Documents/project/src/server/api/admin.controller.js:189:26) 

所以我好奇地看了一下函数SequelizeQuery._processSelect在我的breeze-sequelize库中。 错误来自return usesNameOnServer ? pp : _.pluck(props, "nameOnServer").join("."); return usesNameOnServer ? pp : _.pluck(props, "nameOnServer").join(".");

 SequelizeQuery.prototype._processSelect = function() { var selectClause = this.entityQuery.selectClause; var usesNameOnServer = this.entityQuery.usesNameOnServer; if (selectClause == null) return; // extract any nest paths and move them onto the include var navPropertyPaths = []; this.sqQuery.attributes = selectClause.propertyPaths.map(function(pp) { var props = this.entityType.getPropertiesOnPath(pp, usesNameOnServer, true); var isNavPropertyPath = props[0].isNavigationProperty; if (isNavPropertyPath) { this._addInclude(this.sqQuery, props); } if (isNavPropertyPath) return null; return usesNameOnServer ? pp : _.pluck(props, "nameOnServer").join("."); }, this).filter(function(pp) { return pp != null; }); } 

有人能帮我吗? 谢谢!

_.pluck函数来自lodash ,lodash在版本4.0中删除了pluck函数

breeze-sequelize库最终将更新为lodash 4,但在此期间,尝试使用lodash 3.x.