有没有办法让mongorestore替换数据库中存在的记录而不是跳过它,这是默认行为?
我目前正在使用mongodb的最新2.4.x版本.
MYSQL更新查询在不同情况下给出相同的响应
"0行受影响.(查询花了0.0789秒)"
1)where子句不匹配
2)where子句匹配但给定值与现有值相同
例如:
假设user_id表中不存在='86'
UPDATE `undergraduate` set `faculty` = 'Efac' WHERE `user_id` = '86'
Run Code Online (Sandbox Code Playgroud)
假设user_id='86'存在.但'Efac'的价值已经存在
UPDATE `undergraduate` set `faculty` = 'Efac' WHERE `user_id` = '86'
Run Code Online (Sandbox Code Playgroud)
问题是什么是更好地识别这两种情况的方法?
我正在使用:MYSQL:
+-------------------------+
| @@version |
+-------------------------+
| 5.6.19-0ubuntu0.14.04.1 |
+-------------------------+
Run Code Online (Sandbox Code Playgroud)
PHP:5.5.9-1(PDO)
例如:
有检查结果验证API,还有另一个Web应用程序将该API用作服务。根据该api响应(如果成功),用户可以进入或不进入网站
为了做到这一点,我在基础方面有问题,
我提供了两种选择(可能有很多:),任何好的选择都可以接受!)
01)。使用跨域AJAX请求并根据响应调用API。向Web应用,服务器脚本发送另一个请求并创建会话
$.get("http://api.resultval.com/v1/",
{index_no : no,subject : sub,grade : grade},function(response_msg){
obj = JSON.parse(response_msg);
if(obj.msg.valid){
// results validated marked as validated result on user cv
}
}
);
Run Code Online (Sandbox Code Playgroud)
02)。无需向API发送AJAX请求,而是将用户插入的结果发送到服务器端,并使用服务器端脚本使用guzzle库调用API
$client = new \GuzzleHttp\Client();
$response = $client->get('http://api.resultval.com/v1/'.Input::get('index_no').'/'.Input::get('subject').'/'.Input::get('grade'));
if($response->json()['msg']==='verified'){
// results validated marked as validated result on user cv
}
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?安全性如何?我认为第二个很好!但是我仍然在考虑在客户端执行此操作的方法吗?