Мой json:
{
"user_id" : "1000" ,
"boxes" : [
{
"box_id" : "12345",
"box_name" : "Box 3",
"items" : [],
"visible" : false
},
{
"box_id" : "2000",
"box_name" : "Box 1",
"items" : [],
"visible" : true
},
{
"box_id" : "3000",
"box_name" : "Box 2",
"items" : [],
"visible" : true
}
],
"user_name" : "Jimmy",
}
Я просто пытаюсь получить, какой ящик принадлежит user_id:"1000"
, который равен visible: true
, а какой box_id: "3000"
.Мой запрос:
db.getCollection("users")
.find({user_id:"1000",
$and: [{"boxes.box_id": "3000"},{"boxes.visible": true}]},
{"boxes.$":1})
Но я всегда получаю box_id: 12345 один.Я не мог ничего найти об этом.Спасибо за ответы.