不知道如何填充Mongoose Query

时间:2017-05-09 07:33:04

标签: node.js mongodb mongoose mongoose-populate

我有一个猫鼬人口的问题,我不知道该怎么做。

我有两个模式:

var userSchema =  new userSchema({
    username: { type: String, required: true, unique: true },
    password: { type: String, required: true },
    mods: [{ type: mongoose.Schema.Types.ObjectId, ref: 'users'}]
});
var dataSchema = mongoose.Schema({
    title: { type: String, required: true, unique: true },
    description: { type: String, required: true },
    owner: {type: mongoose.Schema.Types.ObjectId, required: true}
});

因此一个用户可以拥有多个数据包。 某些用户由其他用户审核。

对主持人的查询是什么,列出了他所有自己的数据包和他正在审核的用户?

您看到我有一个SQL背景,并且肯定有另一种方法可以使用MongoDB。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不清楚您需要什么样的查询,但首先您需要在'所有者'中设置ref属性。 dataSchema中的字段。关于人口,它看起来像这样:

//if you use callback
users.find({/*your query*/}).populate('mods')
.exec((err, result)=>{/*your code*/});

//if you use promise
users.find({/*your query*/}).populate('mods').exec()
.then(result=>{/*your code*/})
.catch(err=>{throw err});