【发布时间】:2021-06-29 04:24:39
【问题描述】:
有我的架构
//ProjectModel
const ProjectSchema: Schema = new Schema(
owner: { type: Schema.Types.ObjectId, ref: "User" },
users: [{type: Schema.Types.ObjectId, ref: "ProjectUser", unique: true }]
);
//Project User model
const ProjectUserSchema = new Schema(
{
user: { type: Schema.Types.ObjectId, ref: "User", require: true },
role: {
type: String,
default: 'basic',
enum: ["basic", "projectuser", "moderator", "admin"]
},
project: { type: Schema.Types.ObjectId, ref: "Project", require: true },
},
{
timestamps: true,
usePushEach: true,
}
);
User 模型具有常用字段,如密码、姓名等。
我想在 所有者 (UserSchema) 或 用户 (ProjectUserSchema) 中查找 ProjectModel 的用户强>
ProjectModel.findOne()
.or([{ owner: req.params.user }, { "users.user": req.params.user }])
.then(project => {
res.json(project);
});
但它返回 null。条件.or([{ owner: req.params.user }, { "users._id": "PROJECT USER ID" }]) 也不起作用。
我该怎么办?
【问题讨论】:
-
嗨,AIT。请从
ProjectSchema/projects收藏中发布一些文件。谢谢。
标签: javascript mongodb express mongoose mongodb-query