与CosmosDB猫鼬:让错误'共享吞吐量集合应该有一个分区key`
我目前使用node-express
连接到MongoDB的一个Mongoose
应用程序,并在尝试将其迁移到Azure的宇宙DB。
当我干脆让Mongoose
创建数据库,应用程序工作正常,但数据库是使用单独的一个集合RU定价创建。
如果我创建启用共享吞吐量和尝试使用一个新的数据库,我得到的错误Shared throughput collection should have a partition key
我曾尝试更新收集架构,包括像这样的碎片键:
const mongoose = require('mongoose');
module.exports = function() {
const types = mongoose.Schema.Types;
const messages = new mongoose.Schema({
order: { type: types.ObjectId, required: true, ref: 'orders' },
createdAt: { type: Date, default: Date.now },
sender: { type: types.ObjectId, required: true, ref: 'users' },
recipient: { type: types.ObjectId, ref: 'users' },
text: { type: String, required: true },
seen: { type: Boolean, default: false },
}, { shardKey: { order: 1 } });
return mongoose.model('messages', messages);
};
然而,这是行不通的。
关于如何创建任何想法/使用分区键?或者数据库小,所以如果能够消除对分区键,这也将是罚款的规定。
回答如下:现在我没有这个问题,所以没有必要,除非你觉得这是正确的接受这一个确切的答案。
到目前为止,我已经找到了最好的解决方案是,这是由于“辟吞吐量”当Azure的控制台创建的数据库被检查。如果您删除并重新创建这个箱子不检查数据库(它的正下方输入数据库名),那么你应该不会再遇到这个错误。