这是我在这里的第一篇文章,所以如果我的格式有点偏离请不要生气;-) 我正在尝试使用Azure移动应用程序和node.js为服务器端脚本开发后端解决方案。这是一个陡峭的曲线,因为我是来自嵌入式世界的javaScript和node.js的新手。我所做的是一个自定义API,可以将用户添加到MSSQL表,使用表对象正常工作。但是,我还需要能够从同一个表中删除用户。我添加用户的代码是:
var userTable = req.azureMobile.tables('MyfUserInfo');
item.id = uuid.v4();
userTable.insert(item).then( function (){
console.log("inserted data");
res.status(200).send(item);
});
有效。 Azure node.js文档确实不是很好,我一直在寻找如何做简单事情的好例子。非常讨厌和耗时。 关于删除操作的SDK文档说它的工作方式与read相同,但事实并非如此。或者我像湿门一样愚蠢。我的删除代码看起来像这样 - 它会导致异常
query = queries.create('MyfUserInfo')
.where({ id: results[i].id });
userTable.delete(query).then( function(delet){
console.log("deleted id ", delet);
});
我也试过这个并没有成功
userTable.where({ id: item.id }).read()
.then( function(results) {
if (results.length > 0)
{
for (var i = 0; i < results.length; i++)
{
userTable.delete(results[i].id);
});
}
}
有人可以指出我正确的语法方向,并解释为什么在这里做基本的东西这么困难;-)似乎有很多方法做同样的事情,这真的困惑我。 非常感谢 马丁
答案 0 :(得分:2)
您可以在api中发出SQL
var api = {
get: (request, response, next) => {
var query = {
sql: 'UPDATE TodoItem SET complete=@completed',
parameters: [
{ name: 'completed', value: request.params.completed }
]
};
request.azureMobile.data.execute(query)
.then(function (results) {
response.json(results);
});
}};
module.exports = api;
答案 1 :(得分:1)
为什么要为表执行自定义API?只需在tables目录中定义表并添加任何自定义授权/身份验证。