首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-orm2实例缺少save方法

node-orm2实例缺少save方法
EN

Stack Overflow用户
提问于 2013-07-13 17:48:59
回答 1查看 649关注 0票数 3

我刚开始使用node-orm2,并且遇到了以下问题;

代码语言:javascript
复制
TypeError: Object [object Object] has no method 'save'

完整堆栈跟踪http://pastebin.com/cb9Lt9pB

此错误来自Model方法,定义如下;

代码语言:javascript
复制
User.findOrCreate = function (providerName, token, tokenSecret, uid, profile, done) {
this.find({uid: uid}, 1, function(err, user) {
  if (user) {

    user.displayName = profile.displayName;
    user.profileImage = profile._json.profile_image_url;

    user.save(function(err){
      return done(err, user, false);
    });

  } else {
    ....

模型定义的完整代码在这里http://pastebin.com/7Bv8XG36

据我所知,这个实例并没有像文档(https://node-orm.readthedocs.org/en/latest/ref/instance.html)中描述的那样使用save方法返回。

如果我在user对象上执行console.log,您可以清楚地看到,除了getters和setters之外,它没有任何其他方法。

代码语言:javascript
复制
[ { id: [Getter/Setter],
uid: [Getter/Setter],
username: [Getter/Setter],
displayName: [Getter/Setter],
token: [Getter/Setter],
tokenSecret: [Getter/Setter],
profileImage: [Getter/Setter] } ] 

如果我用错了,有没有人能提供一些见解?或者任何帮助我理解为什么save方法不在实例上的指针。

作为参考,我在mysql中使用了node-orm2 ("orm":"*")的最新版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-13 18:52:05

即使您将结果数限制为1,node-orm2仍会传递一个结果数组:

代码语言:javascript
复制
this.find({uid: uid}, 1, function(err, users) {
  if (! err && users.length) {
    var user = users[0]; // user.save() should work now
    ...
  }
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17628988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档