首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬填充2个文件和2个集合返回空数组

猫鼬填充2个文件和2个集合返回空数组
EN

Stack Overflow用户
提问于 2017-05-03 19:20:11
回答 2查看 278关注 0票数 0

我的问题是填充查询返回一个空数组。我知道有无数的帖子,但是它们都没有给我提供新的见解。

我的第一个模式: station.js

代码语言:javascript
复制
var stationSchema = new Schema({ 
    _id: Number, 
    Tripcount: [{ type: Number, ref: 'Tripcount'}]
},
    {collection: 'stations'}
);
module.exports = mongoose.model('Station', stationSchema);

我的第二个: trips.js

代码语言:javascript
复制
var tripSchema = new Schema({
    _id: Number,
    Tripcount: Number
},
    {collection: 'trips'}
);
module.exports = mongoose.model('Tripcount', tripSchema);

我的查询看起来是这样的,根据大多数答案,这应该做好以下工作:

代码语言:javascript
复制
var Station = require('./station.js');
var query = Station.find()
        .populate({
            path: 'Tripcount',
            model : 'Tripcount'
        });
        query.exec(function(err, stations){
            if(err)
                res.send(err);
            res.json(stations);
        });

使用邮递员得到的车站,它显示Tripcount: []。你知道我做错了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-03 20:43:52

我想在以前的评论基础上再加一个答案。你的数据似乎没有连接起来。猫鼬填充将获取station的Tripcount数组中的值,并使用_id字段尝试并查找Tripcount集合中的Tripcount对象,因此假设您有以下站点

代码语言:javascript
复制
{
  _id: 1,
  Tripcount: [100, 101, 102]
}

在Tripcount集合中,您需要以下内容才能与上面的站点匹配

代码语言:javascript
复制
[
  {
    _id: 100,
    Tripcount: 2
  },
  {
    _id: 101,
    Tripcount: 4
  },
  {
    _id: 102,
    Tripcount: 6
  },
]

然后,当您运行您的查询时,您将得到以下内容

代码语言:javascript
复制
{
  _id: 1,
  Tripcount: [
    {
      _id: 100,
      Tripcount: 2
    },
    {
      _id: 101,
      Tripcount: 4
    },
    {
      _id: 102,
      Tripcount: 6
    },
  ]
}
票数 1
EN

Stack Overflow用户

发布于 2017-05-03 20:20:12

你能试试以下几种吗。将空对象传递给查找方法。

代码语言:javascript
复制
var Station = require('./station.js');
var query = Station.find({})
        .populate({
            path: 'Tripcount',
            model : 'Tripcount'
        });
        query.exec(function(err, stations){
            if(err)
                res.send(err);
            res.json(stations);
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43768317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档