Azure CosmosDB(Mongo/Mongoose)deleteMany()在分区时失败

Azure CosmosDB(Mongo/Mongoose)deleteMany()在分区时失败,mongoose,azure-cosmosdb,azure-cosmosdb-mongoapi,Mongoose,Azure Cosmosdb,Azure Cosmosdb Mongoapi,我正在尝试执行deleteMany({})来删除集合中的所有文档。如果我在集合上没有分区键,这是有效的。如果我有钥匙(在case/city中),那么我会得到一个错误 query in command must target a single shard key" code:61 我如何才能清除整个集合,很难指定用户居住的每个城市!,当我使用门户(或模拟器)创建集合时,Cosmos要求一个分区键)。在没有以前的集合时,我只能通过执行mongoose insertMany()来获取分区键 代码段:

我正在尝试执行deleteMany({})来删除集合中的所有文档。如果我在集合上没有分区键,这是有效的。如果我有钥匙(在case/city中),那么我会得到一个错误

query in command must target a single shard key"
code:61
我如何才能清除整个集合,很难指定用户居住的每个城市!,当我使用门户(或模拟器)创建集合时,Cosmos要求一个分区键)。在没有以前的集合时,我只能通过执行mongoose insertMany()来获取分区键

代码段:(错误出现在deleteMany({})上)


你能简单地删除集合而不是删除文档吗?我也有这样的错误。你能告诉我正确的方法吗?看看这个问题似乎是在大约一个月前解决的。也许你的版本需要更新?我三天前刚刚创建了数据库。我看不到你在哪里检查版本,而且似乎没有如果是旧的API,升级的方法。我知道emulator现在肯定停留在旧版本。
const personSchema = new mongoose.Schema({
    firstName: String,
    lastName: String,
    addressNumber: Number,
    streetName: String,
    city: String,
    email: String
})

        this.users = mongoose.model('person', personSchema)

        try {
            await this.users.deleteMany({})
        } catch (err) {
            this.log.error(`cannot empty collection: ${err}`)
        }