gpt4 book ai didi

node.js - Loopback [nodejs] 自动迁移/自动更新模型到 mongodb

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:29 25 4
gpt4 key购买 nike

环回新手,我一生都无法将单个 json 模型迁移到我的 mongodb 数据源。

我一直在烦恼:https://docs.strongloop.com/display/public/LB/Creating+a+database+schema+from+models

这是我迄今为止尝试过的:

我创建了一个迁移脚本 bin/migrate.js,我计划在每次需要使用自动更新迁移更改时运行该脚本:

var path = require('path');
var app = require(path.resolve(__dirname, '../server/server'));
var ds = app.datasources.acme;
var appModels = ['Client'];
ds.isActual(appModels, function(err, actual) {
if (!actual) {
ds.autoupdate(appModels, function(err) {
if (err){
throw (err);
}
});
}
});

console.log("Migrated: " + appModels.join());

我使用 robomongo 和 mongo cli 进行了检查,但找不到生成的表:

> use acme
switched to db acme
> db.getCollectionNames();
[ ]

我也是 mongodb 的新手,因此我检查迁移是否成功的方式也可能有问题。

我已经在这里尝试过答案,但它对我不起作用:Migrating built-in models to Databases

其他一些相关内容:

数据源.json

{
"acme": {
"host": "127.0.0.1",
"port": 27017,
"database": "acme",
"username": "root",
"password": "password",
"name": "acme",
"connector": "mongodb",
"user": "root"
}
}

我的模型

{
"name": "Client",
"plural": "Clients",
"base": "User",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"contact_number": {
"type": "string"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}

最佳答案

事实证明这确实有效。来自 mysql 背景的我不知道,只有在其中包含文档时,您才能看到 mongodb 集合。

当我添加以下内容时,我得到了我正在寻找的视觉确认:

app.models.Client.create([
{contact_number: '09xxxxxxx', password: 'password', email: 'acme@gmail.com'},
], function(err, clients) {
if (err){
throw err;
}

console.log('Models created: \n', clients);
});

关于node.js - Loopback [nodejs] 自动迁移/自动更新模型到 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35318731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com