0

スポーツの試合データをコレクションに保存する MongoDB (Node js の僧侶モジュール) を使用するプロジェクトに取り組んでいます。各エントリには次のプロパティがあります。

_id: Number,
team1: Array,
team2: Array,
winner: Number

次のようにコレクションにクエリを実行します。チーム 1 またはチーム 2 に x、y、および z が含まれている場合、エントリを返し、できれば操作するエントリのリストを取得したいと考えています。IE、x、y、z が同じチームでプレーした試合の数を確認したい。

これを行う方法はありますか?現在、monk と mongodb のドキュメントを読んでいますが、nosql データベースの初心者なので、しばらく時間がかかります。

4

1 に答える 1

1

さて、使用する必要があるクエリは次のようなものです。

var myQuery = {$or : [{team1 : {$all : [x, y, z]}}, {team2 : {$all : [x, y, z]}}]}

そして、これは検索リクエスト内に入ります(monk gitHub docsから取得):

var db = require('monk')('localhost/mydb');
var users = db.get('users');
users.find(myQuery, function (err, docs){
    // err is null unless something went wrong
    // docs will be an array of all the matching documents
    console.log("Found " + docs.length + " matches");
});

それが役立つことを願っています!

于 2015-05-20T01:55:30.497 に答える