繁体   English   中英

猫鼬子文档访问

[英]mongoose sub document access

您将如何访问已找到文档中的子文档?

假设我创建了以下模型:

const mongoose = require('mongoose');
const schema = mongoose.Schema;

const barStructure = {
    name: { type: String, require: true }
}

const fooStructure = {
    name: { type: String, require: true },
    bar: { type: schema.ObjectId, ref: 'bar', require: false }
}

var BarModel = mongoose.model('Bar', schema(barStructure));
var FooModel = mongoose.model('Foo', schema(fooStructure));

然后创建:

FooModel.create({ name: 'name', bar: new BarModel({ name: 'name' }) });

现在如何从父母那里访问bar

FooModel.findOne({ name: 'name' }, (err, result) => {
    //How can I access bar here?
});

您可以使用猫鼬查询填充功能:

fooModel
  .findOne({ name: 'name' })
  .populate('bar')
  .exec((err, foo) => {
    if (err) return handleError(err);
    console.log(foo.bar): // Access sub model
  });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM