如果评论,mongodb返回的人

时间:2012-02-13 12:24:17

标签: mongodb

我有一个查询来返回帖子和人物内容类型。

var query = {
  type: {
    $in: ["post", "person"]
  },
}

但如果有人有任何意见,我只想回复此人,但总是发帖。

var query = {
  type: {
    $in: ["post", "person"]
  },
  // somehow make this only for person
  // comments: {"$exists": true}
}

这可能还是我应该使用map reduce?

感谢。

2 个答案:

答案 0 :(得分:1)

var query = {
    $or: [
        { type: "post" },
        { type: "person", comments: { $exists: true }},
    ]
}

答案 1 :(得分:1)

这应该有用,我刚测试过它:

db.things.find({$or: [ { type: "post" }, 
                      { type: "person", comments: { $exists: true }} ]})

我最初认为在查询中不可能两次使用相同的字段名称,但这只是一些驱动程序的问题。 here您可以找到有关此问题的讨论。

同时map / reduce通常不能接受实时查询,因为它很慢。