我想仅在userId,email和username不存在时插入到users表中(希望这些是唯一的).
userId是主键(哈希键,数据类型 - 数字).
用户名和电子邮件是非键属性(两个字符串).
这是我试过的方式:
response = userTable.put_item(
Item={
'userId': userIdNext,
'accType': 0,
'username': usernameInput,
'pwd': hashedPwd,
'email': emailInput
},
ConditionExpression = "(attribute_not_exists(userIdNext)) AND (NOT (contains (email, :v_email))) AND (NOT (contains(username, :v_username)))",
ExpressionAttributeValues={
":v_email": emailInput,
":v_username": usernameInput
}
)
Run Code Online (Sandbox Code Playgroud)
我尝试从这里遵循逻辑运算符和条件表达式的aws文档:AWS条件表达式
但即使用户名或电子邮件已经存在于db中,它也会每次都插入到表中.
(我给新的userIdNext,因为它是主键,不能重复)
我正在使用Python实现boto3
我的网络应用程序是这样的:
我有一个在端口80上运行的Apache服务器,我的域和不同子域的虚拟主机,包括SSL的端口443.
我有一个在端口5000上运行的nodejs应用程序.
使用proxypass从apache重定向到我的主域的所有流量到nodejs.
NodeJ然后加载服务工作者.
问题:
在线模式下首次加载应用程序时,它正常工作.Shows Service worker按预期在整个域消息上注册.即使对于某些css,js和img,它也会从ServiceWorker返回响应.
但现在,当我在离线模式下打开同一页面时,服务工作者不会将其作为打开Web应用程序的一部分.
错误:1.未捕获(在承诺中)TypeError:无法获取(...).
在这方面提供正确实施的任何帮助都会有所帮助.