как создать базу данных, отличную от администратора, в Cosmos db?

Недавно я создал учетную запись CosmosDB, которая использует Mongo API. когда я создаю новые коллекции, единственная база данных, которую он использует, - это «admin».

Я попытался прикрепить имя базы данных, например testdb, к URL-адресу, но это не сработало. Я попробовал оболочку mongo для создания базы данных, но это тоже не сработало.


person uman    schedule 02.03.2019    source источник


Ответы (1)


Либо создайте базу данных заранее (с помощью портала или Azure SDK), либо с помощью MongoDB.

Не уверен, как вы пытались подключиться к testdb, но из оболочки вы сможете выполнить:

use testdb

Как только вы это сделаете, вы можете выполнить что-то вроде

db.newcollection.save({foo:"bar"})

Это приведет к созданию новой коллекции в пределах testdb. Вы можете увидеть это через show dbs:

globaldb:PRIMARY> show dbs
admin          0.000GB
testdb         0.000GB

Примечание. При неявном создании коллекции таким образом (в отличие от создания явным образом через портал или пакет SDK Cosmos DB) вы получите для коллекции параметр RU по умолчанию (в настоящее время 1000 RU), и вам потребуется настроить его соответствующим образом через портал. после этого в соответствии с вашими потребностями.

person David Makogon    schedule 02.03.2019
comment
Как я могу получить доступ к этому с помощью URL-адреса, если я просто использую /{database}, как в любом экземпляре mongodb. - person uman; 02.03.2019
comment
Это правильно. Просто укажите нужную базу данных в командной строке с помощью /<dbname>. Затем, когда вы создадите новую коллекцию, она будет создана в этой базе данных (а если база данных еще не существует, она будет создана, когда вы перейдете к сохранению документа в новой коллекции). - person David Makogon; 02.03.2019
comment
проблема заключалась в том, что база данных не отображается при использовании show dbs; команда, если вы не создаете коллекцию. понятно. - person uman; 02.03.2019