【发布时间】:2017-06-05 02:46:34
【问题描述】:
我有一个叫Movie的架构和一个叫User的架构,用户的架构是这样的:
var userSchema = new mongoose.Schema({
movies:[{type:mongoose.Schema.ObjectId, ref: 'Movie'}],
password:{type:String, required:true},
username:{type:String, unique:true, required:true},
wishlist:[{type:mongoose.Schema.ObjectId, ref: 'Movie'}],
seen:[{type:mongoose.Schema.ObjectId, ref: 'Movie'}],
liked:[{type:mongoose.Schema.ObjectId, ref: 'Movie'}],
disliked:[{type:mongoose.Schema.ObjectId, ref: 'Movie'}]
});
我想查询movies 和liked 中的电影,或者movies 中而不是seen 中的电影。现在,我正在对 Node.js 中的所有数据进行多个 for 循环,但这似乎是错误的,所以我想知道在猫鼬中有什么方法可以做到这一点吗?
【问题讨论】:
-
您可以尝试将聚合与 $match 一起使用,并且要检查 $match 中的各种条件,您可以使用 $and 和 $or 运算符来检查各种条件。