环回的新手,我无法将生命中的单个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
其他一些相关的东西:
datasources.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": {}
}
答案 0 :(得分:1)
事实证明这确实有效。来自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);
});