Javascript 环回-使用复合键删除记录
我刚开始使用环回,我有这个“订单”模型:Javascript 环回-使用复合键删除记录,javascript,node.js,loopback,Javascript,Node.js,Loopback,我刚开始使用环回,我有这个“订单”模型: { "name": "Orders", "base": "PersistedModel", "idInjection": true, "options": { "validateUpsert": true }, "properties": { "Client": { "type": "string", "id": 1, "required": true }, "O
{
"name": "Orders",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"Client": {
"type": "string",
"id": 1,
"required": true
},
"OrderId": {
"type": "string",
"id": 2,
"required": true
},
"OrderName": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
假设我想使用订单的组合键(客户机和订单ID)删除订单。我正在使用此方法,但它不会删除记录:
var filter = {
where: {
Client: 'AB123',
OrderId: 'ORD1',
OrderName: 'Coffee'
}
};
Orders.findOne({filter: filter}, function(err, order){
if(err){
console.log(err);
}else{
console.log(order); //prints { Client: 'AB123', OrderId: 'ORD1', OrderName: 'Coffee' }
order.destroy();
}
});
我还尝试使用deleteById()方法,但它只接受一个id/键。这里有什么解决办法吗
提前感谢。删除方法不是
prototype
,即基于环回中的实例-您不能执行order.Delete()
。您应该使用原样的方法来删除与某些where
子句匹配的大量记录
如果你想:
var filter = {
where: {
Client: 'AB123',
OrderId: 'ORD1',
OrderName: 'Coffee'
}
};
Orders.destroyAll(filter.where, function(err, result){
if(err){
console.log(err);
}else{
console.log('Sucess', result); // {count:X} <- how much records deleted
}
});
var过滤器={
其中:{
客户:“AB123”,
OrderId:'ORD1',
订单名称:“咖啡”
}
};
Orders.destroyAll(filter.where,函数(err,result){
如果(错误){
控制台日志(err);
}否则{
log('success',result);//{count:X}