Верьте или нет, мой первый проект с MongoDB был в Silverlight. IronPython, немного C #. Это было в 2009 году, и мы выпустили что-то вроде 0,8 или 0,9 из MongoDB ... так что прошло какое-то время.
Это был, я думаю, 2.x Silverlight, поэтому было труднее выполнять такие вещи, как прямые подключения к базе данных. Тем не менее, я бы порекомендовал по-прежнему идти по маршруту, который я пошел в то время.
Используйте API-интерфейс REST + JSON на стороне сервера и попросите клиента обмениваться данными через него. Мы сделали это в Python, но в наши дни есть несколько потрясающих готовых интерфейсов Mongo REST, таких как Sleepy Mongoose , если вы не хотите создавать свои собственные.
Самым большим преимуществом этого является вопрос безопасности: при прямом соединении базы данных от клиента к серверу даже при аутентификации вы рискуете попасть в вашу базу данных ... в этот момент они могут делать все, что захотят, как Аутентификация MongoDB ограничивает доступ на уровне БД, но не то, что люди могут видеть или удалять. Это даже не требует дизассемблирования кода в некоторых случаях, так как, насколько я помню, есть плагины для браузеров разработки, которые позволяют создавать сценарии работающего приложения Silverlight из IronPython и IronRuby.
Существуют и другие причины, в том числе синхронный вопрос, но в целом я думаю, что серверный интерфейс с Mongo с чистым, защищенным фасадом, который общается с Silverlight, поможет вам лучше.