在MongoDB中查找数组项不为null的项
“我的文档”的架构如下所示:在MongoDB中查找数组项不为null的项,mongodb,Mongodb,“我的文档”的架构如下所示: history: { type: [Object] } 我想找到数组中第15位有项目的所有文档 我希望能够解决的问题是: db.getCollection('teams').find({'history.15': {$exists: true}}) 但是如果history.15为空,它仍然会返回不是我想要的文档。 因此,简单的解决方法应该是: db.getCollection('teams').find({'history.15': {$exists: true
history: { type: [Object] }
我想找到数组中第15位有项目的所有文档
我希望能够解决的问题是:
db.getCollection('teams').find({'history.15': {$exists: true}})
但是如果history.15
为空,它仍然会返回不是我想要的文档。
因此,简单的解决方法应该是:
db.getCollection('teams').find({'history.15': {$exists: true, $ne: null}})
但这不会返回任何对象(而且我的数据库中的某些对象的第15个数组项不是null)
有没有办法让这个查询正常工作
更新:
以下是我的查询未找到的示例文档:
{
"_id" : "FR5BTtggnbxRrDqi3",
"history" : [
null,
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 34,
"finalLineup" : [
"47oDynBoQifNyhG9u",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"6xvdipvf8PNNgaB4d"
],
"finalSubs" : [
"DmwbPcTpPKoPQqJe6",
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "ad7z4NnoqMsLWyhpt",
"out" : "DmwbPcTpPKoPQqJe6"
},
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 0,
"finalLineup" : [
"47oDynBoQifNyhG9u",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"BaRu7TonDB8iKhzdC",
"DmwbPcTpPKoPQqJe6",
"MtZQjZqwptcY4MJXm",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"finalSubs" : [
"ad7z4NnoqMsLWyhpt",
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : []
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 18,
"finalLineup" : [
"ad7z4NnoqMsLWyhpt",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"REs5NdgicB3wYwr8F",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"DmwbPcTpPKoPQqJe6",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
},
{
"in" : "ad7z4NnoqMsLWyhpt",
"out" : "DmwbPcTpPKoPQqJe6"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 38,
"finalLineup" : [
"ad7z4NnoqMsLWyhpt",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"REs5NdgicB3wYwr8F",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"DmwbPcTpPKoPQqJe6",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
},
{
"in" : "ad7z4NnoqMsLWyhpt",
"out" : "DmwbPcTpPKoPQqJe6"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 27,
"finalLineup" : [
"ad7z4NnoqMsLWyhpt",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"REs5NdgicB3wYwr8F",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"DmwbPcTpPKoPQqJe6",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
},
{
"in" : "ad7z4NnoqMsLWyhpt",
"out" : "DmwbPcTpPKoPQqJe6"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 34,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"REs5NdgicB3wYwr8F",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 15,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"REs5NdgicB3wYwr8F",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 13,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"REs5NdgicB3wYwr8F",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 34,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"REs5NdgicB3wYwr8F",
"QFWQLFyLvpzvfn9Nb",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"47oDynBoQifNyhG9u",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "47oDynBoQifNyhG9u"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 14,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"REs5NdgicB3wYwr8F",
"QFWQLFyLvpzvfn9Nb",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"47oDynBoQifNyhG9u",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "47oDynBoQifNyhG9u"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 19,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"REs5NdgicB3wYwr8F",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"QFWQLFyLvpzvfn9Nb",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "QFWQLFyLvpzvfn9Nb"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 14,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"ux7HCjzSpw25JYe7r",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"QFWQLFyLvpzvfn9Nb"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "ux7HCjzSpw25JYe7r",
"out" : "QFWQLFyLvpzvfn9Nb"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 11,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 13,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"score" : 18,
"finalLineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"REs5NdgicB3wYwr8F",
"QFWQLFyLvpzvfn9Nb",
"HcPjMYdG7FcxhRuFj"
],
"finalSubs" : [
"gWtx6YZW5sPehiksC",
"47oDynBoQifNyhG9u",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
],
"autoSubs" : [
{
"in" : "HcPjMYdG7FcxhRuFj",
"out" : "gWtx6YZW5sPehiksC"
},
{
"in" : "REs5NdgicB3wYwr8F",
"out" : "47oDynBoQifNyhG9u"
}
]
},
{
"lineup" : [
"DmwbPcTpPKoPQqJe6",
"4Csv4LDHmCku4p2d7",
"4cWjs7kjweQhTg5gq",
"BaRu7TonDB8iKhzdC",
"6xvdipvf8PNNgaB4d",
"A3vPEhAmhoMYA8iBm",
"AMDWHF8tkBLvGPwQx",
"MtZQjZqwptcY4MJXm",
"47oDynBoQifNyhG9u",
"QFWQLFyLvpzvfn9Nb",
"gWtx6YZW5sPehiksC"
],
"subs" : [
"HcPjMYdG7FcxhRuFj",
"REs5NdgicB3wYwr8F",
"ad7z4NnoqMsLWyhpt",
"ux7HCjzSpw25JYe7r"
]
}
]
}
因此,为了简化答案,假设我们使用一个数组
a
,包含3个不同的数据位:
> db.test.find()
{ "_id" : ObjectId("585145ee8b5e4bf7a33373ee"), "a" : [ { "i" : 0 }, { "i" : 1 } ] }
{ "_id" : ObjectId("585145f68b5e4bf7a33373ef"), "a" : [ { "i" : 0 }, { "i" : 1 }, null ] }
{ "_id" : ObjectId("585146038b5e4bf7a33373f0"), "a" : [ { "i" : 0 }, { "i" : 1 }, { "i" : 2 } ] }
为了简化本例,我们将检查索引2,我们可以使用聚合框架:
var index = 2;
db.test.aggregate([
{ $project: { indexValue: { $arrayElemAt: [ '$a', index ] } } },
{ $match: { 'indexValue' : { $ne: null } } }
])
然后将输出以下内容:
{ "_id" : ObjectId("585146038b5e4bf7a33373f0"), "indexValue" : { "i" : 2 } }
这符合你的标准,但如果你这样做的话就够奇怪了
db.test.find({ 'a.2' : { $ne: null } } )
它与任何文档都不匹配,猜测这与访问数组的索引有关
无论如何,有关匹配
null
和无现有文档的更多信息,请参阅-似乎对我有用。是否有一种方法可以添加用于测试的样本数据?仅供参考,这是一个以零为基础的指数。这对我也很有用。我想问题在于历史记录.15
必须是历史记录.14
。我添加了一个应该通过测试的示例文档,玩弄索引对我不起作用。