Tôi đang cố gắng tìm hiểu MongoDB và nó đã được tuyệt vời cho đến nay. Tuy nhiên tôi gặp phải một tình huống và tôi không chắc chắn làm thế nào để giải quyết nó. Hy vọng rằng ai đó có thể giúp tôi và cảm ơn trước.
Tôi muốn nhận bản ghi rằng giá trị mảng (toàn bộ) nằm trong truy vấn. Ví dụ:
kỷ lục 1:
{"name" : "Mango Shake",
"ingredients" : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"}]}
kỷ lục 2:
{"name" : "Mango Banana Shake",
"ingredients" : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"},
{"type" : "fruit", "name" : "banana"}]}
kỷ lục 3:
{"name" : "Milk Shake",
"ingredients" : [{"type" : "milk", "name" : "soy milk"}]}
thì tôi sẽ có một truy vấn giống như
{"ingredients" : {$all : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"},
{"type" : "fruit", "name" : "strawberry"}]}}
vì tôi có xoài, sữa đậu nành và dâu tây. Vì vậy, tôi muốn biết tôi có thể làm gì. Rõ ràng điều này không trả lại bất cứ điều gì vì truy vấn không thể có thêm công cụ. Nếu tôi sử dụng $in
thì tất cả sẽ trở lại, nhưng tôi không thể làm xoài chuối lắc vì tôi không có chuối ..
Vì vậy, những gì tôi chỉ cần là người đầu tiên và cuối cùng. Bất kỳ ý tưởng? Đánh giá cao nó :)
Vì vậy, bạn muốn tạo một truy vấn từ những thành phần mà bạn có trong tay, do đó trả lại tập kết quả chỉ bao gồm những phần lắc mà bạn có thể thực hiện? – chb
có chính xác .. cảm ơn chb –
bạn có bất kỳ yêu cầu nào như nó chỉ nên là một truy vấn không? tôi có thể trả lại tên/id không? –