我阅读了moment.js的文档,如果你想从当前日期时间加1个月,你可以使用这段代码
var moment = require('moment');
var futureMonth = moment().add(1, 'M').format('DD-MM-YYYY');
Run Code Online (Sandbox Code Playgroud)
但是现在的问题是,它没有正确添加日期,例如假设当前日期是2015年10月31日,在代码中解释
var currentDate = moment().format('DD-MM-YYYY');
var futureMonth = moment().add(1, 'M').format('DD-MM-YYYY');
console.log(currentDate) // Will result --> 31/10/2015
console.log(futureMonth) // Will result --> 30/11/2015
Run Code Online (Sandbox Code Playgroud)
如果你看看当前的日历时间,31/10/2015假设是1个月1/12/2015
谁能给我一些关于如何解决这个问题的意见.
谢谢
我的目标是在mongoosastic搜索中填充某些字段,但如果我执行以下代码,它将始终返回
这是代码
var mongoose = require('mongoose');
var Category = require('./category');
var mongoosastic = require('mongoosastic');
var Schema = mongoose.Schema;
var ProductSchema = new Schema({
category: { type: Schema.Types.ObjectId, ref: 'Category', es_schema: Category, es_indexed:true, es_select: 'name'},
name: String,
price: Number,
image: String
});
ProductSchema.plugin(mongoosastic, {
hosts: [
'localhost:9200'
],
populate: [
{path: 'category', select: 'name'}
]
});
module.exports = mongoose.model('Product', ProductSchema);
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var CategorySchema = new Schema({
name: { type: String, unique: true, lowercase: true} …Run Code Online (Sandbox Code Playgroud) 我想知道的是,您如何构建您的Web应用程序?我真的很困惑,我应该将哪种方法用于我的项目.
已经决定选择哪种技术.
1)Node.js并表示为其框架
2)MongoDB
3)React + Flux
但问题是,我现在应该使用方法(A)还是方法(B)
方法(A) - HTML的Serverside呈现
app.get('/users/', function(request, respond) {
var user = "Jack";
respond.render("user", { user: user });
});
Run Code Online (Sandbox Code Playgroud)
方法(B) - HTML的客户端呈现
app.get('/users/', function(request, respond){
var user = "Jack";
respond.json({ user: user });
});
Run Code Online (Sandbox Code Playgroud)
方法A将从服务器和数据中呈现HTML.
方法B将仅响应客户端React.js所需的数据,以便它可以操纵数据.
我担心的是,我应该使用哪种方法?大多数创业公司使用哪种方法?
谢谢.
我正在node.js中构建订阅计划,我阅读了有关如何订阅用户计划的文档,并且成功了.
Stripe的doc声明我必须active_until在数据库中存储一个字段.它说当使用webhook进行更改时,我知道webhook就像是一个事件.
真正的问题是
1)如何使用active_until每个月重复一次账单?2)我如何使用webhook,我真的不明白.
这是迄今为止的代码.var User = new mongoose.Schema({email:String,stripe:{customerId:String,plan:String}
});
//payment route
router.post('/billing/:plan_name', function(req, res, next) {
var plan = req.params.plan_name;
var stripeToken = req.body.stripeToken;
console.log(stripeToken);
if (!stripeToken) {
req.flash('errors', { msg: 'Please provide a valid card.' });
return res.redirect('/awesome');
}
User.findById({ _id: req.user._id}, function(err, user) {
if (err) return next(err);
stripe.customers.create({
source: stripeToken, // obtained with Stripe.js
plan: plan,
email: user.email
}).then(function(customer) {
user.stripe.plan = customer.plan;
user.stripe.customerId = customer.id;
console.log(customer);
user.save(function(err) {
console.log("Success");
if (err) return next(err); …Run Code Online (Sandbox Code Playgroud) 我在使用passport-instagram时遇到了麻烦,我正试图在我的应用程序中实施passport-instagram.每当我尝试使用instagram登录按钮登录时,我都会收到此错误:InternalOAuthError:无法获取访问令牌{无匹配代码}
这是代码
instagram.js(护照instagram配置文件)
var passport = require('passport');
var InstagramStrategy = require('passport-instagram').Strategy;
var User = require('../models/user');
var instaOpt = {
clientID: "aad229e3597643be92568acb46efb40d",
clientSecret: "5563070a33394e0fafada92a16ec2e71",
callbackURL: "http://localhost:8000/auth/instagram/callback"
};
var instagramInit = function(accessToken, refreshToken, profile, callback) {
User.findOne({ "instagram.id" : profile.id } , function(err, user) {
if (err) return callback(err);
if (user) {
return callback(null, user); // User already exist
}
var newUser = new User();
newUser.instagram.id = profile.id;
newUser.instagram.token = accessToken;
newUser.instagram.email = profile.email;
newUser.instagram.displayName = profile.displayName;
newUser.instagram.name = profile.name;
newUser.instagram.username …Run Code Online (Sandbox Code Playgroud) 我有一个数据集
var JobSchema = Schema({
candidates: [{
user: { type: Schema.Types.ObjectId, ref: 'User'},
status: { type: String, default: 'In Progress' },
}]
});
Run Code Online (Sandbox Code Playgroud)
我想找到一个具体的job's _id并更新特定候选人的字段,如{ _id: 123, user: 12345, status: "In Progress" }
此操作的URL是---> localhost:3000/apply/:job_id/user_id
例如
假设这是作业mongodb中当前保存的数据
{
"_id" : 123, ---> job_id
"candidates" :
[{
"_id" : 234 ,
"user": 345 , --> user_id
"status" : "In Progress"
},
{
"_id" : 345 ,
"user": 678 , --> user_id
"status" : "In Progress"
}]
"__v" : …Run Code Online (Sandbox Code Playgroud) 我已经成功配置了mongoosastic,我尝试搜索并且它工作正常,但是当涉及到前端我不确定如何实现这一点时,我尝试了很多方法但是无法想出一个好的解决方案
这是代码.
// For the Search API
router.post('/api/search/', function(req, res, next) {
Job.search(
{
query_string:
{ query: req.body.search }
} , function(err, results) {
if (err) return next(err);
res.json(results);
});
});
Run Code Online (Sandbox Code Playgroud)
因此,每当我搜索与"工程师"相关的内容时,我都会得到一个json数据
所以后端确实完美运行.
但是当涉及到jquery和ajax时,我总是得到不好的请求
逻辑:每当插入某些内容然后发布并找到该结果.
这是前端jquery代码.
$('#search').keyup(function() {
var search_term = $(this).val();
$.ajax({
type: "POST",
url: "/api/search",
success: function(){
$('search_results').html(search_term);
},
error: function(data){
alert('Error', data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
HTML
<input type="text" class="form-control input-lg" id="search" name="search" placeholder="Search for part-time..." />
<div id="search_results">
</div>
Run Code Online (Sandbox Code Playgroud)
如何将json结果插入search_results?
我在 node.js、socket.io 和 mongoose 中构建了一个聊天应用程序。我的目标是建立一对一聊天,它类似于 facebook 网络聊天。所以基本上每当我点击一个用户时,它都会转到那个用户的 url 并可能与他/她聊天
但我面临的问题是我只能向目标用户发送消息,而不能向我自己发送消息。
这是当前的代码
服务器端
socket.on('chatTo', function(data){
User.findOne({ username: data.destinationUsername, socketId: { '$ne': null}}, function(err, foundUser) {
if (foundUser) {
io.to(foundUser.socketId).emit('incomingChat', { sender: user.username, message: data.message });
} else {
io.to(socket.id).emit('deliverError', { error: foundUser + ' is not online' });
}
});
});
Run Code Online (Sandbox Code Playgroud)
客户端
$(function() {
var socket = io();
function chatTo(message, destinationUsername) {
socket.emit('chatTo', { message: message, destinationUsername });
}
$('#sendMessage').submit(function(){
var input = $('#message').val();
var username = $('#username').val();
chatTo(input, username);
$('#message').val(''); …Run Code Online (Sandbox Code Playgroud) 每当我按下按钮时,模式就不会显示,我尝试了很多事情,甚至创建了一个 custom.js 来将此代码放入
$('#myModal').modal('show');
Run Code Online (Sandbox Code Playgroud)
但就是不行,我哪里做错了?
这是代码
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<!-- Button -->
<button type="button" class="btn btn-success" data-toggle="modal" data-target="#myModal">Get Started</button>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 在Algolia的文档中,对于node.js部分,他们指定使用MySQL进行索引但不使用MongoDB,我还有另外一个关于这个问题的问题,但这是一个更普遍的问题,请点击这里
有些人要求我使用mongo-connector,但尝试了它,我得到了一些未知的错误,这让我变得正方形
我真正的问题是,如何将mongodb中的集合列表迭代到algolia?
这是Algolia在Node.js中的MySQL版本
var _ = require('lodash');
var async = require('async');
var mysql = require('mysql');
var algoliasearch = require('algoliasearch');
var client = algoliasearch("RQGLD4LOQI", "••••••••••••••••••••••••••••••••");
var index = client.initIndex('YourIndexName');
var connection = mysql.createConnection({
host: 'localhost',
user: 'mysql_user',
password: 'mysql_password',
database: 'YourDatabaseName'
});
connection.query('SELECT * FROM TABLE_TO_IMPORT', function(err, results, fields) {
if (err) {
throw err;
}
// let's use table IDS as Algolia objectIDs
results = results.map(function(result) {
result.objectID = result.id;
return result;
});
// split our …Run Code Online (Sandbox Code Playgroud) node.js ×9
mongodb ×4
mongoose ×4
express ×2
jquery ×2
mongoosastic ×2
ajax ×1
algolia ×1
date ×1
javascript ×1
momentjs ×1
passport.js ×1
reactjs ×1
socket.io ×1
webhooks ×1