mongodb - 查询中的 Mongoose 填充方法返回空数组
问题描述
我无法查询我的模型,并使用 .populate 方法来获取我的对象的引用文档。这是我的模式:
var userSchema = new Schema({
firstname: { type: String, required: true, unique: false },
lastname: { type: String, required: true, unique: false },
...
children: [{type: mongoose.Schema.Types.ObjectId, ref: 'Child'}],
});
var childSchema = new Schema({
firstname: { type: String, required: true, unique: false },
lastname: { type: String, required: true, unique: false },
...
legal_guardian_id: [{type: mongoose.Schema.Types.ObjectId, ref: 'User'}],
});
这是我尝试运行查询的方式:
User.findOne({ _id: '5b9d30083e33585cc0b8c710' })
.populate('children').exec((err, doc) => {
if (err) { return console.error(err); }
res.send(doc);
})
这导致“孩子”:[]
当我只使用 findOne 方法并返回用户时,我得到“children”:[“5b9d3f23d1408c5f4e2624f3”]。
我究竟做错了什么?
解决方案
推荐阅读
- couchdb - 如何确保 Hyperledger Fabric 对等方无法查看数据库?
- javascript - javascript在两个嵌套数组之间查找匹配的变量
- java - 获取“java.lang.String.org.json.JSONObject.getString(java.lang.String)”异常
- apache - APACHE 未在 Windows 10 中的 MAMP 上启动
- java - 使用注释的自定义跨度
- python - 使用python从不同目录一次下载数据的代码
- c# - 仅插入带有数据的记录(没有空记录)
- excel - 退出 If 和 Next For
- iis - 我在运行 PowerShell 时不断收到此错误
- java - 使用 peek 和 findAny 对 Java 流结果感到困惑