Không thể truy vấn các khóa tài liệu theo cách này. Bạn có thể tìm kiếm các kết quả phù hợp chính xác bằng cách sử dụng $exists
, nhưng bạn không thể tìm thấy các tên khóa phù hợp với một mẫu.
Tôi giả định (có lẽ không chính xác) rằng bạn đang cố gắng tìm tài liệu có tài liệu phụ URL và không phải tất cả tài liệu đều có điều này? Tại sao không đẩy thông tin loại đó xuống một cấp độ, đại loại như:
{
payload: {
type: "url",
url: "Facebook.com",
...
}
}
Sau đó, bạn có thể truy vấn như:
db.foo.find({"payload.type": "url", ...})
Tôi cũng sẽ bỏ qua nếu tôi không lưu ý rằng bạn không nên sử dụng dấu chấm (.
) là các tên chính trong MongoDB. Trong một số trường hợp, bạn có thể tạo các tài liệu như thế này, nhưng nó sẽ gây ra sự nhầm lẫn lớn khi bạn cố gắng truy vấn vào các tài liệu nhúng (trong đó Mongo sử dụng dấu chấm làm "dấu phân cách đường dẫn").