MongoDB 查询字段是列表,如何只取列表符合条件的字段输出

不羁的生命 发布于 2013/12/27 09:31
阅读 2K+
收藏 0
假如数据库中记录是下面4条:
{
code: "1",
qty: [
{ size: "a", num: 10, color: "blue" },
{ size: "b", num: 100, color: "blue" },
{ size: "c", num: 100, color: "blue" },
]
},
{
code: "2",
qty: [
{ size: "a", num: 10, color: "blue" },
{ size: "e", num: 100, color: "blue" },
{ size: "f", num: 100, color: "blue" },
]
},
{
code: "3",
qty: [
{ size: "h", num: 10, color: "blue" },
{ size: "b", num: 100, color: "blue" },
{ size: "i", num: 100, color: "blue" },
]
},
{
code: "4",
qty: [
{ size: "j", num: 10, color: "blue" },
{ size: "k", num: 100, color: "blue" },
{ size: "m", num: 100, color: "blue" },
]
}
想要查询qty字段对应列表中包含size:“a”  或者包含size:“b” 的结果 期望返回结果是:
{
code: "1",
qty: [
{ size: "a", num: 10, color: "blue" },
{ size: "b", num: 100, color: "blue" },
]
},
{
code: "2",
qty: [
{ size: "a", num: 10, color: "blue" },
]
},
{
code: "3",
qty: [
{ size: "b", num: 10, color: "blue" },
]

},

请问大神 mongodb如何实现?

加载中
0
震秦
震秦
{" qty.size" : {"$in" : ["a", "b"]}}
震秦
震秦
回复 @不羁的生命 : qty: [ { size: "a", num: 10, color: "blue" }, ] 是数组,属于一个字段. 你的想法用简单的查询无法实现. 数据量不大可以使用MapReduce.
不羁的生命
您这样的查询,会将符合条件的整条记录返回,而不是我期望的只返回符合条件记录的部分字段
0
RyanMiao
RyanMiao
楼主还在吗,这个问题解决了吗,指导下
返回顶部
顶部