używam wersji 2.6.5 MongoDB i mam kolekcję, która wygląda mniej więcej tak:MongoDB zapytanie produkuje lub odpowiedź zamiast I
{
"_id": ObjectId("555a3398f4c572a44f877dcd"),
"created": ISODate("2015-05-18T17:02:14.951Z"),
"values": [
{
"value": "4",
"label": "Apple"
},
{
"value": "5",
"label": "Peach"
},
{
"value": "5",
"label": "Banana"
},
{
"value": "4",
"label": "Orange"
}
],
"__v": 0
}
{
"_id": ObjectId("555a74dbdfe135105faccdf7"),
"created": ISODate("2015-05-18T21:27:37.064Z"),
"values": [
{
"value": "2",
"label": "Apple"
},
{
"value": "3",
"label": "Peach"
},
{
"value": "4",
"label": "Banana"
},
{
"value": "5",
"label": "Orange"
}
],
"__v": 0
}
{
"_id": ObjectId("555a74f9dfe135105faccdfa"),
"created": ISODate("2015-05-18T21:27:37.064Z"),
"values": [
{
"value": "1",
"label": "Apple"
},
{
"value": "1",
"label": "Peach"
},
{
"value": "1",
"label": "Banana"
},
{
"value": "1",
"label": "Orange"
}
],
"__v": 0
}
Kiedy próbuję dostać dokument, który ma values.label
z „Orange” I values.value
z „5” powinien dostać jeden dokument z powrotem, ale ja dostaję dwa:
> db.answers.count({ 'values.label':'Orange', 'values.value':'5' })
> 2
to wybierając dwa dokumenty z identyfikatorami: 555a3398f4c572a44f877dcd
(przypuszczalnie dlatego Banana
także ma wartość 5) i 555a74dbdfe135105faccdf7
(który jest jedynym poprawnym). Czy ktokolwiek może pomyśleć, dlaczego tak się dzieje?
ma sens, dzięki! – jwerre