1

我有这个猫鼬模式:

UserSchema = new db.Schema({
   fullname : String,
   sale : [{ _id: [db.Schema.Types.ObjectId] }],
   friends : [db.Schema.Types.ObjectId]
}

如何修复此代码以使其选择销售的 _id 字段?TIA

user.Model
        .find({
            _id : {
                $in: friends
            }
        })
        .select('sale._id') // invalid syntax
        .exec(function(err, results) {
            console.log(results);
        });
4

1 回答 1

1
UserSchema = new db.Schema({
   fullname : String,
   sale : [{ type: db.Schema.Types.ObjectId, ref: 'Sale' }],
   friends : [db.Schema.Types.ObjectId]
}
user.Model
    .find({
        _id : {
            $in: friends
        }
    })
    .exec(function(err, results) {
        console.log(results);
    });

您不需要.select,因为默认情况下会选择架构中的所有内容。您可能想要.populate('sale')加载一个完整的销售实例,而不仅仅是 _id。

于 2013-09-18T02:51:12.320 回答