创建管理员

use admin

db.createUser(
{
user: “admin”,
pwd: “admin”,
roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ]
}
)
重启MongoDB实例

mongod –auth –port 27017 –dbpath <关联路径>

连接并认证

mongo –port 27017 -u “admin” -p “admin” –authenticationDatabase “admin”

添加额外权限用户

use test
db.createUser(
{
user: “test”,
pwd: “test123”,
roles: [ { role: “readWrite”, db: “test” } ]
}
)

连接并认证
mongo –port 27017 -u “test” -p “test123” –authenticationDatabase “test”
注意:如果是配置文件/etc/mongod.conf 启动的记得 在配置文件中写一行  auth=true #window   security:  authorization: enabled #linux
客户端认证 db.auth(“someAdminUser”, password)

mongodb 添加用户名密码

其他参数:

processManagement.fork: true 以daemon模式启动mongod

net.bindIp: 指定IP,逗号分隔,注释掉的情况下,服务启动在0.0.0.0

systemLog.quiet: true 日志输出使用quiet模式,只输出critical

storage.dbPath: 指定数据的存放位置

replication.replSetName: 副本集的名字

security.authorization: enabled 使用认证

security.keyFile: 使用keyFile

verbosity: 日志开启debug模式,0-5

operationProfiling.slowOpThresholdMs: slowlog设定,默认100

net.http.RESTInterfaceEnabled: rest接口是否有效

net.maxIncomingConnections: 最大连接数,默认65536,不能超过系统设置,# ulimit -n

201 起因是订单号重复提交了 out_trade_no

说一下电商遇到的问题:

1.用户可以切换优惠券(奇葩需求),但是订单号一样,会造成总结额total_fee不一致会出现201

2.用户在小程序中下单,但是在微信h5中支付,但是订单号一样,注意程序和h5中的用户的openid和商户的appid肯定不一样,然后造成签名不一致

问题1的解决方案是  生成订单号=本站订单号_总金额

问题2的解决方案是  生成订单号=本站订单号_唯一标识

如果网站遇到问题1和问题2其中之一,那轻松愉快的使用以上方案了,但是我们的网站同时出现以上两种问题

同理可得方案  生成订单号=本站订单号_总金额唯一标识

注意在微信通知给我们网站的时候,用_分割后处理一下我们的订单,再更新我们自己的站点