我是使用 node-orm2 的新手,并且被以下问题所困扰;
TypeError: Object [object Object] has no method 'save'
完整堆栈跟踪http://pastebin.com/cb9Lt9pB
此错误来自模型方法,定义如下;
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)中概述的保存方法返回实例。
如果我对用户对象执行 console.log,您可以清楚地看到它除了 getter 和 setter 之外没有任何方法。
[ { id: [Getter/Setter],
uid: [Getter/Setter],
username: [Getter/Setter],
displayName: [Getter/Setter],
token: [Getter/Setter],
tokenSecret: [Getter/Setter],
profileImage: [Getter/Setter] } ]
如果我使用不正确,任何人都可以提供任何见解吗?或者任何可以帮助我理解为什么 save 方法不在实例上的指针。
作为参考,我正在使用最新版本的 node-orm2 ("orm": "*") 和 mysql。