流星服务器无需登录即可插入数据
meteor server insert data without login
我想创建允许其他应用程序插入(创建)新数据的API。但到目前为止,我尝试过,这不是工作与错误消息"用户id是必需的",我知道,发生因为没有登录用户发现插入新数据时。是否有可能插入新的数据没有登录或任何可能的方式从服务器端登录,如果使用帐户密码的包或任何可能的方式使此工作?
服务器代码
Picker.route('/createFood/:title', function(params, req, res, next) {
console.log('-> params : ',params);
let username = (new Date()).getTime().toString();
function createFood() {
Fiber(function() {
console.log("-> username : ",username);
let acc = Accounts.createUser({
username: username,
email: username +'@foodie.com',
password: username
});
if (acc) {
console.log("-> acc : ",acc);
// Meteor.call("setUserId", acc);
Menus.insert({
title: params.title,
}, function(err, foodId) {
console.log("-> abs : ",Meteor.absoluteUrl());
console.log("-> err : ",err.message);
console.log("-> foodId : ",foodId);
let code, result;
if (err) {
code = 500;
result = {
error: err.message
}
} else {
code = 200;
result = {
foodId: foodId,
}
}
res.setHeader( 'Content-Type', 'application/json' );
res.statusCode = code;
res.end( JSON.stringify( result ) );
})
}
}).run();
}
if (params.title)
createFood();
});
code food model,这里有userId owner
if (Meteor.isServer) {
Menus.allow({
insert: function() {
return true;
},
update: function() {
return true;
},
remove: function() {
return true;
},
fetch: ['foodId'],
});
Menus.after.insert((userId, doc) => {
....
})
}
没有理由不登录就不能插入数据库。如果你不愿意,甚至可以不包含accounts包。
除非用户在场,否则当前代码不会插入,您可以将其简化为:
function createFood() {
Menus.insert({
title: params.title,
相关文章:
- 通过mongos和javascript插入数据
- HTML5/JavaScript.使用索引数据库时无法插入数据
- 在数据库中插入数据后,无法重定向到 HTML 页面
- 通过 Yii2 表单插入数据时获取空值
- 如何在for循环中的新对象中插入数据
- 如何在HTML中用两个预定义的值绑定选择选项,以在mongodb中插入数据
- jQueryAjax:从php插入数据
- 插入数据并用新数据刷新数据网格后,关闭弹出窗口
- 在用户为下一次输入插入数据后清空文本字段
- 在 jaydata 中的循环中插入数据
- 如何在node.js应用程序中的mongodb中按层次结构顺序插入数据
- 如何在表单输入元素内的数组中插入数据
- 使用 Prepare 语句插入数据不会返回插入的记录
- 如何在编码器中使用具有相同名称的多个输入插入数据
- 将字段与 id 匹配并插入数据 - 流星
- 如何使用javascript或jquery创建tr的克隆并在新行中插入数据
- 在代码点火器上使用 ajax 插入数据
- 如何插入数据 PHP JavaScript MySQL 与多个数组
- 从gsheet向bigquery插入数据
- I'm使用angularjs路线.在日志页面中插入数据后,我希望它在导航到日志列表页面时自动更新