猫鼬提供 upsert=true 错误
mongoose supplying upsert=true erroring out
我是第一次使用 mongoose,我的会话模型声明如下
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var sessionSchema = new Schema({
session_id : String,
users : [{
user_id : String,
user_type : String,
}],
start_time : Date
});
var SessionInfo = mongoose.model('SessionInfo', sessionSchema);
module.exports = SessionInfo
现在我正在尝试更新用户数组,每当用户使用相同的会话 ID 加入我的套接字服务器时,用户详细信息都应该得到更新
下面是代码
newSession.update({session_id : sessionId},
{$push: {users :
{user_id : userId,
user_type : userType}
}},
{safe: true, upsert: true},
function(err,model){
console.log(err);
});
但是每当客户端连接到节点 js 服务器时,我都会收到以下错误
2015 年 4 月 28 日星期二 01:53:07 GMT+0530 (IST) 已接受连接。
/home/rahulshr/node_modules/mongoose/lib/query.js:1878
oldCb(error, result ? result.result : { ok: 0, n: 0, nModified: 0 });
^
类型错误:对象不是函数
在 Query.callback (/home/rahulshr/node_modules/mongoose/lib/query.js:1878:7)
在 /home/rahulshr/node_modules/mongoose/node_modules/kareem/index.js:167:19
在 /home/rahulshr/node_modules/mongoose/node_modules/kareem/index.js:103:16
在 process._tickCallback (node.js:415:13)
我找到了根本原因,我应该用 SessionInfo
我是第一次使用 mongoose,我的会话模型声明如下
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var sessionSchema = new Schema({
session_id : String,
users : [{
user_id : String,
user_type : String,
}],
start_time : Date
});
var SessionInfo = mongoose.model('SessionInfo', sessionSchema);
module.exports = SessionInfo
现在我正在尝试更新用户数组,每当用户使用相同的会话 ID 加入我的套接字服务器时,用户详细信息都应该得到更新
下面是代码
newSession.update({session_id : sessionId},
{$push: {users :
{user_id : userId,
user_type : userType}
}},
{safe: true, upsert: true},
function(err,model){
console.log(err);
});
但是每当客户端连接到节点 js 服务器时,我都会收到以下错误
2015 年 4 月 28 日星期二 01:53:07 GMT+0530 (IST) 已接受连接。
/home/rahulshr/node_modules/mongoose/lib/query.js:1878 oldCb(error, result ? result.result : { ok: 0, n: 0, nModified: 0 }); ^ 类型错误:对象不是函数 在 Query.callback (/home/rahulshr/node_modules/mongoose/lib/query.js:1878:7) 在 /home/rahulshr/node_modules/mongoose/node_modules/kareem/index.js:167:19 在 /home/rahulshr/node_modules/mongoose/node_modules/kareem/index.js:103:16 在 process._tickCallback (node.js:415:13)
我找到了根本原因,我应该用 SessionInfo