我正在使用MongoDB(Node js的monk模块)开发一个项目,我将体育比赛数据存储到一个集合中。每个条目都具有以下属性:
_id: Number,
team1: Array,
team2: Array,
winner: Number
我想按如下方式查询集合:如果team1或team2包含x,y和z,那么我想返回该条目,并希望有一个条目列表可供使用。 IE,我想看看x,y,z在同一个团队中的比赛次数。
有没有办法做到这一点?我目前正在阅读monk和mongodb的文档,但我在nosql数据库中是一个菜鸟,所以它会花一些时间。
答案 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");
});
希望有所帮助!