Tôi có một kỷ lục trong bộ sưu tập của tôi và tôi muốn lấy các chi tiết của người có id là 1. Nhưng tôi nhận được các chi tiết cho 2times thay vì 1.Làm thế nào để tìm bản ghi phù hợp trong mongodb?
db.mycollection.insert({"person" : [ { "id":1, "details" : { "name" : "Aswini", "Age" : 10 }}, { "id":2, "details" : { "name" : "Mahesh", "Age" : 11}}]})
Sau đó chạy
> db.mycollection.findOne({"person.id":1},{"person.details":1,"_id":0})
kết quả là:
{
"person" :
[
{
"details" :
{
"name" : "Aswini",
"Age" : 10
}
},
{
"details" :
{
"name" : "Mahesh",
"Age" : 11
}
}
]
}
Nhưng tôi cần như sau:
{
"person" : [
{
"details" : {
"name" : "Aswini",
"Age" : 10
}
}
]
}
Không hiểu nơi nào đang phạm sai lầm. Xin vui lòng cần sự giúp đỡ của bạn. Đang sử dụng MongoDB, Java
sai của nó. op không muốn phần tử thứ 1, anh ta muốn lấy mảng phụ phù hợp bất kể vị trí. nếu tài liệu phụ person.id nằm ở vị trí cuối cùng phía trên truy vấn sẽ không quấy rối – RameshVel
Bạn hoàn toàn đúng. Tôi muốn mảng phụ không phân biệt chỉ số của nó. Xin vui lòng giúp đỡ nếu bạn có bất kỳ giải pháp am a newbee để mongodb – aswininayak