如何使用Loopback3和mongo创建索引



我有一个这样的模型定义(为了可读性而删掉(:

{
"name": "PlannerArchive",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true,
"strictObjectIDCoercion": true
},
"properties": {
"planner": {
"type": "object",
"required": true
},
"event": {
"type": "string",
"required": true
},
"user": {
"type": "string",
"required": true
}
},
"indexes": {                    <<<<<<<<<<<<<<<<<<<<<<<<
"event_idx": {
"keys": {
"event": 1
}
},
"user_idx": {
"keys": {
"user": 1
}
}
}
}

我的期望是,当服务器启动并创建集合时,也会创建索引。

现实情况是,该集合是创建的,并且生成了一个PK索引";id";创建了,但我的自定义索引都没有。

我可以在服务器引导上运行类似mongoDS.autoupdate()的代码来创建它们,但我希望不需要这样做。

我对环回索引处理的理解有缺陷吗?或者我还能做些什么吗?

很抱歉仍在运行Loopback3.x-迁移正在进行中。

添加索引时,需要一个自动更新脚本。

将其添加到/server/boot/autoupdate.js:中

'use strict';
var Promise = require('bluebird');
module.exports = function (server) {
Promise.each(server.models(), function (model) {
if (model.dataSource) {
var autoupdate = Promise.promisify(model.dataSource.autoupdate);
if (autoupdate) {
return autoupdate.call(model.dataSource, model.modelName);
}
}
});
};

相关内容

  • 没有找到相关文章

最新更新