MongoDB - 查询多个对象

时间:2015-05-19 20:49:54

标签: node.js mongodb monk

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

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

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

有没有办法做到这一点?我目前正在阅读monk和mongodb的文档,但我在nosql数据库中是一个菜鸟,所以它会花一些时间。

1 个答案:

答案 0 :(得分: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");
});

希望有所帮助!