Azure CosmosDB:如何为MongoDB API启用点符号查询
解决Azure Cosmos DB MongoDB API数组点符号查询无效的问题
别担心,这个问题我之前帮不少开发者解决过,咱们可以通过Azure门户或者CLI两种方式来开启数组点符号的支持,下面是具体步骤:
方式一:通过Azure门户操作
- 先登录你的Azure门户,找到目标Cosmos DB账户
- 在左侧菜单栏里,找到「设置」分类下的「MongoDB」选项卡
- 往下翻到「兼容性设置」区域,你会看到一个叫「启用数组的点符号」(英文界面是「Enable dot notation for arrays」)的开关,把它拨到开启状态
- 记得点击页面顶部的「保存」按钮,等个几十秒设置就生效了
方式二:通过Azure CLI操作
如果你习惯用命令行,直接用az cosmosdb update命令就能搞定,替换掉命令里的账户名和资源组名就行:
az cosmosdb update \ --name <你的CosmosDB账户名> \ --resource-group <你的资源组名> \ --capabilities EnableMongoDotNotation
执行完命令后设置会自动生效,不用额外做别的操作。
开启之后,你就可以像在原生MongoDB里那样用点符号查询数组嵌套字段了,比如db.yourCollection.find({"yourArrayField.nestedKey": "targetValue"})这类查询就能正常返回结果啦。
内容的提问来源于stack exchange,提问作者Ozan
相关产品推荐
相关产品推荐

