使用几个关键字searchmongodb

我使用节点js,mongoose,expression和mongodb。 我已经创build了一个简单的表单,在其中input您的全名,并在数据库中search并返回您的其他详细信息。 是否可以使用全名中的几个词进行search? 例如,如果用户想要search“abc xyz”,用户是否可以仅使用“abc”或“xyz” 这是我原来的路线: app.get("/",function(req,res){ var name = req.query.name; details.findOne({fullname:name},function(err,foundAsked){ if(err){console.log("ERROR!!!");} else{res.render("Details.ejs",{foundAsked:foundAsked,name:name}); } }); }); 有可能吗?如果是的话,那我该怎么实现呢?

为什么Mocha的`before()`函数传递是否带参数?

在我的describe有这样的代码: before(a) 。 当看起来像这样: function a() { return chai.request(app) … .then(res => { res.blah.should.blah; return Promise.resolve(); }); } …一切都很好(这是一个非常快的电话)。 但是,当我做ainputvariables: function a(dummy, my_var) { return chai.request(app) … // use my_var here .then(res => { res.blah.should.blah; console.log("finished!"); return Promise.resolve(); }); } 承诺永远不会解决。 两点意见: finished! 确实得到正确的输出(立即) dummy填充。 这是填充这个: function (err) { if (err instanceof Error || toString.call(err) […]

提示没有路由的文本

我想join到我的机器人中是一种方式来提示用户本质上自由forms的自然语言文本,然后保存它。 我认为这将是足够简单的使用: builder.Prompts.text(session, prompt); 但UniversalBot似乎试图根据用户提供的文本来解释和路由。 我确实有LUIS作为识别器连接到机器人,很明显这是什么在这里发挥作用,因为它是解决我的一个定义的意图。 或者至less它是说它意识到这个意图,但实际上并没有把用户带到那个对话中。 有什么方法可以实现我的目标? 在收到对提示的响应时,基本上禁用识别器? 我在Node中编码。

node.js fs.existsSync始终为false

我在这个path上有一个文件: ~/Downloads/flightlog_2017-71-19_19747.txt 但是,当我尝试写或检查它是否存在: fs.existsSync('~/Downloads/flightlog_2017-71-19_19747.txt') 它总是返回false 如果我在terminal做: $ nano ~/Downloads/flightlog_2017-71-19_19747.txt 这工作正常

如何触发Express错误中间件?

我试图在摩卡unit testing这段代码: app.use(function (err, req, res, next) { console.error(err.stack) res.status(500).send('Something broke!') }) 我不知道如何在摩卡unit testing中得到我的请求来触发它。

如何处理MVC nodejs服务上的angular色(jsonwebtoken,mongoose)

我正在开发一个使用MVC模式的服务,支持NodeJS,jsonwebtoken和MongoDB(mongoose)。 在我的应用程序中,我模拟了两个主要angular色:普通用户(可以通过Facebook,亚马逊或本地注册注册),驱动程序(仅通过网站注册)。 我还要模拟用户和驱动程序之间的交易,只有用户和驱动程序明显可以通过CRUD范例进行修改。 在这里,我发布了用户和驱动程序的模型: var userSchema = mongoose.Schema({ name: String, surname: String, email: String, password: { type: String, required: true } }); var driverSchema = mongoose.Schema({ name: { type: String, required: true }, surname: { type: String, required: true }, email: { type:String, required: true, unique:true }, password: { type: String, required: true, minlength: minimum […]

Date.now()返回错误的date

我有这个mongoose模式 const postSchema= new Schema({ body:{ type: String, required:true, validate:bodyValidators}, createdBy: { type: String}, to: {type:String, default:null }, createdAt: { type:Date, default:Date.now()}, likes: { type:Number,default:0}, likedBy: { type:Array}, dislikes: { type:Number, default:0}, dislikedBy: { type:Array}, comments: [ { comment: { type: String, validate: commentValidators}, commentator: { type: String} } ] }); 我的应用程序的每一个post都是返回到2017年8月20日下午10:01但我在哪里是2小时以上。 这里是HTML,我正在使用Angular4。 {{post.createdAt | […]

Express中间件error handling程序

之后生成一个快速的模板。 在app.js有一个下面的代码片断 app.use('/users', users); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; […]

在Node.js上使用passport-ldapauth进行LDAPauthentication

我一直在与护照ldapauth挣扎了几天,我没有更多的想法,我做错了什么。 简而言之,我有一个使用两种护照策略的项目:本地和LDAP。 本地策略对我来说是完美的,但LDAP是有问题的。 我有一个AD的只读用户(我们称之为“ldap-read-only-admin”),我可以通过外部LDAP客户端连接到这个用户并查看相关的OU。 我也三重检查了SearchBase,这似乎是正确的。 但是,当将相同的configuration传递给passport-ldapauth时,它似乎无法绑定用户凭据(我猜)。 任何想法如何debugging这将非常感激。 这是app.js: var express = require("express"); var app = express(); var path = require("path"); var session = require("express-session"); var mongoose = require("mongoose"); var passport = require("passport"); var flash = require("connect-flash"); var cookieParser = require("cookie-parser"); var bodyParser = require("body-parser"); var morgan = require("morgan"); var configDB = require('./config/database.js'); require('./config/passport.js')(passport); // pass […]

使用ioredis发送任意命令到redis

有没有可能发送任意命令到Redis使用ioredis的节点JS? 例如,我正在使用新的RediSearch模块,并希望使用以下命令创build一个索引: FT.CREATE test SCHEMA title TEXT WEIGHT 5.0 我将如何使用ioredis发送此命令?