我正在尝试执行deleteMany({})来删除集合中的所有文档。如果我在集合上没有分区键,则可以使用。如果我有钥匙(在/ city的情况下),则会收到错误消息。
query in command must target a single shard key"
code:61
如何清除整个集合,很难指定用户居住的每个城市!而且,当我使用门户网站(或仿真器)创建集合时,Cosmos要求提供分区键)。当没有先前的集合时,只能通过执行mongoose insertMany()来获得分区键。
代码段:(错误来自deleteMany({})
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}`)
}