Как я могу использовать MongoDB для поиска всех документов, имеющих поле, независимо от значения этого поля?

Например, у меня есть коллекция с документами, где у документов может быть поле "url" (но большинство из них нет). Как я могу найти все документы, у которых есть поле "url" (независимо от значения этого поля)?

Ответ 1

Чтобы узнать, существует ли в вашем документе ключ/поле, используйте оператор $exists.

Через оболочку MongoDB...

> db.things.find( { url : { $exists : true } } );

Ответ 2

db.things.find({url: {$ exists: true}}, {url: 1, _id: 1});

Если вы изменили свое мнение и хотите отобразить только URL-адрес без _id, вам нужно изменить значение клавиши _id на 0.