0

我正在使用 MongoDB(Node js 的僧侣模块)开展一个项目,我将体育比赛数据存储到一个集合中。每个条目具有以下属性:

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

我想按如下方式查询集合:如果 team1 或 team2 包含 x、y 和 z,那么我想返回条目,并希望有一个条目列表可以使用。IE,我想查看 x,y,z 在同一支球队中的比赛次数。

有没有办法做到这一点?我目前正在阅读僧侣和 mongodb 的文档,但我是 nosql 数据库的菜鸟,所以我需要一段时间。

4

1 回答 1

1

好吧,您应该使用的查询类似于:

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

这将进入 find 请求(取自僧侣 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 回答