【发布时间】:2015-11-05 00:13:51
【问题描述】:
我创建了一个自定义的Client 模型,它的基类是一个内置的User 模型。我为此使用了命令行工具slc loopback:model。为模型自动创建的配置如下(common/models/client.json):
{
"name": "Client",
"plural": "Clients",
"base": "User",
"idInjection": true,
"properties": {},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}
据我了解,我的自定义 Client 模型具有 User 模型的所有属性和行为。
现在我想创建一些 Client 实例并将它们插入 MongoDB。文档说 POST /users HTML 请求创建一个新的数据库条目,环回自动设置一些值 (https://docs.strongloop.com/display/public/LB/User+REST+API):
提供用户对象属性的 JSON 对象(在请求正文中): 用户名、密码、电子邮件。 LoopBack 设置 emailVerified 和 验证令牌.
但是当我运行我的脚本时,既没有设置emailVerified,也没有设置verificationToken。 DB 仅填充我作为POST 正文传递的值。这是我的代码:
ds.automigrate(collections, function(er) {
if (er) throw er;
console.log('Looback tables [' + collections + '] created in ', ds.adapter
.name);
server.models.Client.create([{
username: 'admin',
password: "admin",
email: 'admin@gmail.com',
dtCrt: new Date()
}, {
username: 'admin2',
password: "admin2",
email: 'admin2@gmail.com',
dtCrt: new Date()
}], function(err, newClient) {
ds.disconnect();
process.exit();
});
});
这是一个结果。未设置 emailVerified 和 verificationToken 值:
[ { username: 'admin',
password: '$2a$10$EdyVnfIATxoOzI6vUeV3POIgKGomY/gtKRXfoWcrTRWZDm0dKl41y',
email: 'admin@gmail.com',
dtCrt: Sun Nov 01 2015 20:08:23 GMT+0800,
id: 563600b85e1c289829390e48 },
{ username: 'admin2',
password: '$2a$10$ya6yf7iGraPGPvhjtVunZeug1i7/aTF8aSn.mYlqF0zUNVO73DJ8e',
email: 'admin2@gmail.com',
dtCrt: Sun Nov 01 2015 20:08:23 GMT+0800,
id: 563600b85e1c289829390e49 } ]
为什么?如何让 Loopback 按照其文档所述设置这些值?
【问题讨论】:
标签: mongodb loopbackjs strongloop