akr*_*spe 6 azure mongoose mongodb node.js azure-cosmosdb
在使用分片键在Azure Cosmos DB上创建新的分区集合之后,我想通过mongoose数据库适配器使用nodejs插入数据并从中恢复数据。
比方说,我的分区收集行动与片键actionId。我应该如何进行?是否需要在猫鼬查询中使用partitionKey键或enableCrossPartitionQuery键来攻击正确的分片?
const mongoose = require('mongoose');
const actionModel = new mongoose.Schema({
actionId: { type: Number, required: true, unique: true },
name: { type: String, required: true, unique: true },
}, {
shardKey: { actionId: 1 },
});
actionModel.create({ actionId, name}, (err, response) => {
//logic
});
actionModel.findOne({ actionId }, (err, response) => {
//logic
});
actionModel.findOneAndUpdate({ actionId }, data, { new: true, lean: true }, (err, response) => {
//logic
});
Run Code Online (Sandbox Code Playgroud)
根据猫鼬的文档,不需要做任何其他事情。但是,如果我想通过其他字段进行更新怎么办?
每个分片集合都有一个分片密钥,所有插入/更新操作中都必须存在该分片密钥。我们只需要将此模式选项设置为相同的分片键,就可以完成所有设置。
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |