0

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ですconference

現在、これは私にとってはうまくいきません。これが不可能なのか、それとも正しく行っていないのかはわかりません。

4

1 に答える 1

1

いいえ、できません。そのドキュメントのIDに加えて名前を保存するか(非正規化されたデータはmongoスキーマで一般的です)、その会議名で「チーム」を検索してから、次のようなものを検索する必要があります

finding.or([
  { home_team: {$in: teamIds}},
  { away_team: {$in: teamIds}}
])
于 2013-04-23T18:51:25.657 に答える