这是新用户的代码:
var User = mongoose.model('User', userSchema);
var usr = new User({ username: 'bob', email: 'bob@example.com', password: 'secret' });
Run Code Online (Sandbox Code Playgroud)
这是检查登录的代码.
passport.use(new LocalStrategy(function(username, password, done) {
User.findOne({ username: username }, function(err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false, { message: 'Unknown user ' + username }); }
user.comparePassword(password, function(err, isMatch) {
if (err) return done(err);
if(isMatch) {
return done(null, user);
} else {
return done(null, false, { message: 'Invalid password' }); …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取一个mongoDB对象,例如Friend1包含另一个mongoDB对象Friend2,该对象又包含第一个对象Friend1,该对象本质上使此对象成为循环对象引用。
要么那样,要么类似的东西。
我希望能够以某种方式更新Friend2.value和检索它Friend1,例如Friend1.friend2.value
我发现填充不是很有用..如果我正确的话,它只是创建一个ObjectID引用,而不是引用整个对象以进行检索...
这可能吗?或其他我应该使用的
这听起来太愚蠢但我无法弄清楚如何获得ID为15的特定节点
这些都是我尝试过的
match (n) where n.id=15 return n
MATCH (n { id:15 }) return n
Run Code Online (Sandbox Code Playgroud) 我有一个循环,通过一个数组并 从中删除一些元素.
但是因为它从循环的同一个数组中删除了元素,所以会产生一些问题.
在这里Players,我想从中删除一个player2
Players = [];
Players.push('player1');
Players.push('player2');
Players.push('player2');
Players.push('player2');
Players.push('player3');
Players.push('player2');
Players.push('player2');
Players.push('player2');
function check() {
for (var i = 0; i < Players.length; i++) {
if (Players[i] == 'player2')
kick(Players[i])
};
}
function kick(player) {
for (var i = 0; i < Players.length; i++) {
if (player == Players[i]) {
Players.splice(i, 1);
break;
}
};
}
Run Code Online (Sandbox Code Playgroud)
但
check();
console.info(util.inspect(Players));
Run Code Online (Sandbox Code Playgroud)
输出
[ 'player1', 'player3', 'player2', 'player2' ]
我该怎么做才能纠正这个问题?
我有以下 Express.js 文件
var express = require('express');
var favicon = require('serve-favicon');
var morgan = require('morgan');
var compression = require('compression');
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var cookieParser = require('cookie-parser');
var errorHandler = require('errorhandler');
var path = require('path');
var config = require('./environment');
var passport = require('passport');
module.exports = function(app) {
var env = app.get('env');
app.set('views', config.root + '/server/views');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.use(compression());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(cookieParser());
app.use(passport.initialize());
app.use(passport.session()); // passport session middleware
if ('production' …Run Code Online (Sandbox Code Playgroud) 我正在.styl使用JavaScript API 编译我的Stylus 样式表:http://learnboost.github.io/stylus/docs/js.html
var stylus = require('../')
, str = require('fs').readFileSync(__dirname + '/test.styl', 'utf8');
stylus(str)
.set('filename', __dirname + '/test.styl')
.import('mixins/vendor')
.render(function(err, css){
if (err) throw err;
console.log(css);
});
Run Code Online (Sandbox Code Playgroud)
它没有提到它使用的回调是同步还是异步.虽然根据我的经验,它似乎是同步的,但我不确定.是吗?
我相信当你收到警告时,这是一个常见的问题
警告:您的Magento文件夹没有足够的写入权限.
我试过了
find . -type d -exec chmod 777 {} ;
Run Code Online (Sandbox Code Playgroud)
和
find . -type f -exec chmod 755 {} ;
Run Code Online (Sandbox Code Playgroud)
但这并没有帮助,我相信我使用了不同的权限,777但我想保持它更安全...
我有一种感觉,可能是因为我的VirtualHost设置.我的Magento在/var/www/example.com/public_html,VirtualHost部分是功能,因为example.com带你到我的网站.
我不确定./mage正确处理所有事情并且有点痛苦但是我使用SSH这是我唯一的解决方案.
我有一个Node.js函数从DB表中获取一些值
var GetPoints = function(ibmdb, dbConnection, msisdn) {
ibmdb.open(dbConnection, function(err, conn) {
if (err) {
//Error
} else {
conn.query('SELECT id,msisdn,points FROM t_points WHERE msisdn =' + msisdn, function(err, data) {
console.log(err);
if (!err) {
conn.close(function(err) {
if (!err) {}
});
consele.log(data);
//return data[0].POINTS;
} else {
//Error
}
});
}
console.log("points" + points);
});
}
Run Code Online (Sandbox Code Playgroud)
我想知道data当我从外面调用这个函数时如何访问该对象
var data = GetPoints(ibmdb, dbConnection, msisdn);
Run Code Online (Sandbox Code Playgroud)
当我这样做时,值正确 console.log
在JAVA中,
Calendar Target_Date = Calendar.getInstance();
Target_Date.set(YEAR,Integer.parseInt(req.getParameter("date").split("-")[0]));
Run Code Online (Sandbox Code Playgroud)
给出错误YEAR cannot be resolved to a variable.我没用set()正确吗?我想改变Target_Date一年.
我的应用程序在NodeJS,ExpressJS和AngularJS上运行.我正在尝试使用PassportJS进行Facebook身份验证.为了避免发布一堆不必要的代码,让我们假设Passport代码按预期工作并登录到Facebook,抓取令牌并收到响应.
在ExpressJS中,我的路由设置如下:
app.get('/', routes.index);
app.get('/fbauth', passport.authenticate('facebook', { scope: 'email' }));
app.get('/fbauthed', passport.authenticate('facebook',{ failureRedirect: '/' }), routes.loggedin);
app.get('/logout', function(req, res) {
req.logOut();
res.redirect('/');
});
Run Code Online (Sandbox Code Playgroud)
我的服务器设置为localhost:3000.
题
我的问题是Angular完全没有表现出来.当我在我的页面上放置一个链接href="/fbauth"(这转到localhost:3000/fbauth)时,我看到地址栏改变localhost:3000/fbauth为一瞬间,然后我的localhost:3000主页重新加载.
但是,如果我输入localhost:3000/fbauth地址栏,验证就会发生,我会传递给Facebook - > localhost:3000/fbauthed.
我认为这是因为Angular路由试图"接管" <a>链接中的URL ,但我不知道如何实现它.我已经尝试将我的Angular路由配置为:
when('/fbauth', {
redirectTo: '/fbauth'
}).
Run Code Online (Sandbox Code Playgroud)
但这会加载一个空白屏幕.我怎样才能让两者一起工作?