【发布时间】:2019-08-29 14:09:49
【问题描述】:
我有 3 个用户。我想选择除一个以外的所有内容。
结果数组只有一项。
$elemMatch 只返回一个项目,但我想要除了这个 _id 之外的所有项目。
我正在解决这个问题,但我无法解决。
我的代码
const mongoose = require('mongoose') // v ^5.6.11
mongoose.connect('mongodb://localhost/test');
const UserSchema = new mongoose.Schema({
_id: {
type: mongoose.Schema.Types.ObjectId,
auto: true
},
username: mongoose.Schema.Types.String,
password: mongoose.Schema.Types.String
})
const ProjectSchema = new mongoose.Schema({
_id: {
type: mongoose.Schema.Types.ObjectId,
auto: true
},
users: {
type: [UserSchema]
}
})
const ProjectModel = new mongoose.model('projects', ProjectSchema)
const query = ProjectModel.find({
_id: '5d66ce383fc7e0263881bd39'
})
query.select({
users: {
$elemMatch: {
$ne: {
_id: '5d66ce383fc7e0263881bd3e'
}
}
}
})
query.exec((error, data) => {
if (error) {
console.log('ERROR', error)
} else {
console.log('DATA', data)
}
})
【问题讨论】: