【发布时间】:2016-06-12 13:38:07
【问题描述】:
我想从users 数组中获取指定字段的值。
像{_id: {$in: this.users}} 这样的东西。不同之处在于users 是一个对象数组,我想获取此数组中每个对象的_id 字段。
这是一个代码示例:
var UserSchema = new Schema({
username: {type: String, required: true, unique: true},
password: {type: String, required: true,},
email: {type: String, required: true, unique: true},
role: {type: String, enum: ['user'], required: true},
name: String,
phoneNumber: Number,
companies: [{
_company: {type: Schema.ObjectId, ref: 'Company'},
points: Number
}],
points: Number,
created_at: Date,
updated_at: Date
})
我想为 mongoose UserSchema 编写这个中间件:
UserSchema.pre('remove', function(next) {
this.model('Company').update(
{_id: {$in: ??????????????????}},
{$pull: {users: this._id}},
next()
)
})
但我不知道如何从使用$in 的公司检索_company 字段。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
UserSchema的users字段在哪里? -
抱歉,复制粘贴后我没有更改它。它应该是另一个 Schema。
标签: arrays node.js mongodb mongoose mongoose-schema