$ inc + addToSet和populate - NodeJS - Mongoose

时间:2014-06-06 09:13:57

标签: javascript node.js mongodb mongoose

我想在ref对象中添加变量:

的usermodel

var userSchema = new mongoose.Schema({
    pseudo : { type : String },
    fullname : { type : String },
    password : { type : String },
    email : { type : String },
    //tags : { type : Array },
    tags : [
        {
            objectId : { type : mongoose.Schema.Types.ObjectId, ref: 'tag'},
            completed : { type : Boolean, default : false }
        }
    ],
    dateCreation : { type : Date, default : Date.now }
});

tagModel

var tagSchema = new mongoose.Schema({
  name : { type : String },
  alias : { type : String },
  description : { type : String },
  countMembers : { type : Number, default : 0 },
  dateCreation : { type : Date, default : Date.now }
});

我尝试过:

userModel.findByIdAndUpdate(
req.session.passport.user._id, 
{ $inc: { "tags.objectId.countMembers": 1 }, $addToSet: {"tags": { objectId: mongoose.Types.ObjectId(publicTag._id.toString()) }}},
{ upsert: true },
function(err, model) {
    if (err)
        throw err;
});

userModel.findByIdAndUpdate(
req.session.passport.user._id, 
{ $addToSet: {"tags": { objectId: mongoose.Types.ObjectId(publicTag._id.toString()) }}},
{ $inc: { "tags.objectId.countMembers": 1 }, upsert: true },
function(err, model) {
    if (err)
        throw err;
});

我收到错误'无法使用该部分。' :(

也许我必须使用填充?我不知道..

如果一个人有一个好的网站/链接来了解查询mongoose中的额外选项..

每次我在3小时内查找问题只是为了使用1个查询,当我混合使用多个选项时,例如 $ inc upsert 。 / p>

谢谢,

0 个答案:

没有答案