允许用户使用Wordpress页面中的用户帐户使用node.js应用程序的最佳方法是什么?
我已经尝试在Redis中存储会话信息,但我对PHP不是很熟悉并且遇到了没有存储会话的死胡同.我使用过本指南.
我也尝试过使用node-phpass,但它没有很好的记录.我已成功连接到Wordpress数据库,但我使用node-phpass生成的密码哈希值与wp_users表中的哈希值不匹配.
这就是我用来测试node-phpass的方法:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'wordpress',
password : 'jPWrwvGbYXMADd8F',
database : 'wordpress',
});
connection.query('SELECT * FROM wp_users', function(err, rows) {
if (err) {
console.log("Database error: " + err);
} else {
for (var i = 0; i < rows.length; i++){
console.log("Rows[" + i + "] : " + rows[i].user_login + " " + passwordHash.checkPassword('secret',rows[i].user_pass));
}
}
});
Run Code Online (Sandbox Code Playgroud)
除了分享会话,还有其他更好的方法吗?OAuth的?
更新mongodb记录中保存的数组中值的最佳方法是什么?目前,我正在尝试这种方式:
Record.find({ 'owner': owner}, {}, {sort: { date: -1 }}, function(err, record){
if(!err){
for (var i = 0; i < record[0].array.length; i++){
record[0].array[i].score = 0;
record[0].array[i].changed = true;
record[0].save();
}
}
});
Run Code Online (Sandbox Code Playgroud)
架构看起来像这样:
var recordSchema = mongoose.Schema({
owner: {type: String},
date: {type: Date, default: Date.now},
array: mongoose.Schema.Types.Mixed
});
Run Code Online (Sandbox Code Playgroud)
现在,我可以看到数组更新,保存时没有错误,但是当我再次查询数据库时,数组尚未更新.
我知道之前已经提到过,但提供的答案根本没有回答我的问题.
我有一个UITableView的同步函数numberOfRowsInSection:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var returnValue = 0
self.getFavorites() { result in
returnValue = result.count
}
return returnValue
}
Run Code Online (Sandbox Code Playgroud)
这是getFavorites()函数:
func getFavorites(completionHandler: (([NSString])->())){
let setter = self.xpcConnection?.remoteObjectProxy as FavoritesProtocol
setter.getFavorites({(reply) -> Void in
if var unwrappedReply = reply {
completionHandler(unwrappedReply)
}
})
}
Run Code Online (Sandbox Code Playgroud)
现在numberOfRowsInSection函数返回0,因为该函数在异步函数完成之前返回.我理解这个概念.
到目前为止我找到的答案对我没有帮助的是,他们都没有真正说出如何使用您的completionHandler返回你传回的价值,他们都有很简单的例子,如:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
self.getFavorites() { result in
println("Result count: " \(result.count)")
}
}
Run Code Online (Sandbox Code Playgroud)
这很好,如果您所做的只是打印值,但我需要返回值!
提前致谢
确保我的TypeScript和相应的JavaScript文件中只有ASCII字符的最佳方法是什么?
node.js ×2
mongodb ×1
mongoose ×1
php ×1
swift ×1
tslint ×1
typescript ×1
uitableview ×1
wordpress ×1