Похоже, что может быть некоторая путаница между структурой документа Mongo и использованием аутентификации с MongoDB.
Документация по настройке аутентификации пользователя для базы данных Mongo приведена здесь: http://www.mongodb.org/display/DOCS/Security+and+Authentication
Если пользователю 2 необходимо выполнить запрос к коллекции, созданной пользователем 1, то пользователь 2 должениметь учетную запись в базе данных, в которой находится эта коллекция, и должна быть надлежащим образом аутентифицирована.
Предоставленный пример документа также немного сбивает с толку.Лучше использовать имена ключей, которые будут одинаковыми во всех документах.Например:
{userName:"user1", name:"Marc"},
{userName:"user2", name:"Jeff"},
{userName:"user3", name:"Steve"}
предпочтительнее
{user1:"Marc"},
{user2:"Jeff"},
{user3:"Steve"}
Во втором примере имя пользователя (user1, user2 и т. Д.) Должно быть известно, чтобы узнать имяпользователя.MongoDB не поддерживает подстановочные знаки в запросах.
Предпочтительна следующая структура документа:
{
user: "User2",
objects:[object1,object2,object3]
},
{
user: "User1",
objects:[object1,object2,object3]
}
Все объекты, созданные пользователем1, могут быть получены с помощью следующего запроса:
> db.<your collection name>.find({user: "User1"}, {objects:1})
Для получения дополнительной информациив структуре документа MongoDB я рекомендую прочитать следующее:
http://www.mongodb.org/display/DOCS/Schema+Design - Отличное введение в способ хранения данных в MongoDB, включая примеры документов, передовые практики и введение в индексирование.
Надеемся, что вышеизложенное поможет вам выбрать правильную схему с точки зрения выбора схемы для вашей коллекции, создания пользователей и настройки разрешений.Аутентификация - это одна из более продвинутых функций MongoDB, поэтому я бы хотел сосредоточиться на создании эффективной схемы и правильной организации ваших данных, прежде чем беспокоиться об аутентификации.
Если у вас есть какие-либо дополнительные вопросы по этим темам или что-либо еще, связанное с MongoDB, Сообщество здесь, чтобы помочь!Удачи!