NodeJS js自动创建集合和自适应索引

6xfqseft  于 11个月前  发布在  Node.js
关注(0)|答案(1)|浏览(128)

在couchbase中,当你使用ottoman.js时,你必须手动创建一个集合和一个索引,然后才能开始查询你创建的新模型的数据库。有没有一种方法可以自动做到这一点?
为了进一步解释,这里是我在nodejs代码中创建的一个基本模型。

const { Schema, model } = require("ottoman");

const UserSchema = new Schema({
    username: {
        type: String,
        required: true,
        unique: true
    }
},
    {
        timestamps: true
    }
);

const User = model('User', UserSchema);

module.exports = User;

字符串
现在,当我们尝试插入时,我们会得到集合不存在的错误。如果我们在 Jmeter 板中手动创建集合,我们可以像这样开始插入:

const newUser = new User({ username:'HelloWorld' });
let result = await newUser.save();


为了查询数据,我们需要创建一个索引。让我们假设我们只需要所有集合的自适应索引。当我们尝试查询时,我们得到一个索引错误。所以我们需要手动运行一个查询来创建一个自适应索引,然后我们可以这样做一个基本的查找:

let users = await User.find({},{});


所以我的问题是,有没有一种方法可以让你在模式定义中指定ottoman应该自动为你创建集合,并进一步指定它应该创建什么样的索引?
我一直在mongodb中使用mongoose,发现这一点非常相似。另一方面,mongo会自动创建集合,一旦定义了mongoose模式,就可以开始查询。

aelbi1ox

aelbi1ox1#

使用Provisioning API创建存储桶、作用域、集合、索引等。API是异步的-它们在创建完成之前返回。如果您希望在创建后立即使用它们,则可能需要在使用它们之前进行测试/等待循环。
https://docs.couchbase.com/nodejs-sdk/current/howtos/provisioning-cluster-resources.html

相关问题