【问题标题】:mongoosejs or statement with objectidmongoosejs 或带有 objectid 的语句
【发布时间】:2013-04-24 02:51:25
【问题描述】:

我可以使用 mongoose.js 使用 OR 语句“遍历”一个 ObjectID 吗?

一个例子是这样的:

var confName = 'something';
finding = finding.or([
            { 'home_team.conference.name': confName },
            { 'away_team.conference.name': confName }
        ]);
finding.exec(function(err, models) {
     ...

home_teamaway_team 都是 ObjectID 指向的 Team Schema,其中包含一个嵌入的文档 conference

现在这对我不起作用,我不确定这是不可能的,还是我做得不对。

【问题讨论】:

    标签: javascript node.js express mongoose


    【解决方案1】:

    不,你不能。除了 id 之外,您还需要在该文档上存储名称(非规范化数据在 mongo 模式中很常见),或者使用该会议名称搜索“团队”,然后搜索类似

    finding.or([
      { home_team: {$in: teamIds}},
      { away_team: {$in: teamIds}}
    ])
    

    【讨论】:

    • 谢谢 ... 使用 in 将是我的下一个选择,但它看起来不太好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 2013-10-07
    • 2022-01-17
    相关资源
    最近更新 更多