我有一个Mongodb文档,其中包含一系列预订:
{ id: myId,
bookings: [
{station: "Nurse"},
{station: "Doctor"},
{station: "Pharmacist"}
]
}
我查看了每个电台,他们看到了下次预订的所有记录。所以对于护士来说,这将是:find({"bookings.0.station": "Nurse"})
,返回护士是预约数组中第一个元素的每条记录。
我想要添加的是第二个视图,其中可以看到所有后续预订,即。记录护士n
n > 0
的预订。
有这么简单的方法吗?或者我最好先检索所有文件然后过滤实际文件?
答案 0 :(得分:1)
只做两个论点。这完全有效。因此查询包含查看所有元素的正面条件和仅在第一个元素上的$ne
条件:
db.bookings.find({
"bookings.station": "Doctor",
"bookings.0.station": { "$ne": "Doctor" }
})
返回,并且:
db.bookings.find({
"bookings.station": "Nurse",
"bookings.0.station": { "$ne": "Nurse" }
})
没有。这当然是故意的。