使用nodejs,mongoose和azure cosmos db

时间:2017-08-29 08:37:29

标签: node.js mongodb azure mongoose azure-cosmosdb

使用分片键在Azure Cosmos DB上创建新的分区集合后,我想通过mongoose数据库适配器使用nodejs插入和恢复数据。

假设我的分区集合是 action ,其中包含分片键 actionId 。我该怎么办?需要在mongoose查询中使用 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
});

根据Mongoose文档,无需再做任何事情。但是如果我想通过另一个领域进行更新呢?

  

每个分片集合都有一个必须存在的分片键   所有插入/更新操作。我们只需要设置此架构选项   使用相同的分片键,我们将全部设置。

0 个答案:

没有答案