草庐IT

json - Express.js - Mongo 对象返回未定义

我正在尝试使用Express.js从Mongodb获取JSON,但它在我的控制台中返回“未定义”。你能给点建议吗?应用程序.js:vardb=monk('localhost:27017/nodetest1',{username:'USERNAME',password:'PASSWORD'});index.js:router.get('/url',function(req,res){vardb=req.db;varcollection=db.get('test1');collection.find({},{},function(e,docs){console.log(docs)//Ret

node.js - Mongoose :在 find() 之后填充

我是mongo和nodejs的新手,这是我正在尝试做的事情:该API用于根据查询检查数据库中是否存在现有条目。(a)如果没有现有文档,创建一个新文档,填充,发送到客户。(b)如果文档存在,返回文档,填充,发送到客户。问题:在场景(a)中,创建文档后,API向客户端发送“null”。可疑.populate()和.exec()在API完成创建新文档之前运行。代码片段返回null:console.log('InsideIF'+video_res);//returnsnull解决这个问题的最佳方法是什么?model_video.findOne(video_entry,function(err,

javascript - Mongoose 找到多个匹配项

我是这项技术的新手,正在使用使用Mongoose的Node和Express服务器。我有以下文档集合架构。varempSchema=newmongoose.Schema({ _id:String, orgName:{type:String,required:true}, locName:{type:String,required:true}, empName:{type:String,required:true}});在这里,我在请求中获得了位置名称列表,例如“NewYork”、“London”、“Paris”等...,并且需要在响应中返回文档,如下所示...{result:[{locN

javascript - Nodejs 和 Mongoose 数据获取

我在获取数据时遇到了一些问题。我有Mongoose方案。PostSchema.methods.getAuthor=function(){this.model('User').findById(this.author).exec(function(err,author){if(author){console.log(author.username);returnauthor.username;};});};mongoose.model('Post',PostSchema);和获取方法exports.getPost=function(req,res){returnPost.findById

node.js - mongoose如何防止已有用户名的用户修改用户名

我有一个身份验证系统,用户可以使用username/password来signup,或者使用facebooksignin提供者/providerId我想防止更改用户名,但如果他们使用facebook,我允许他们设置一次username。是否可以在user模型中实现它?这是我当前的实现。//usernamecheckuniqueUserSchema.pre('save',true,function(next,done){varself=this//incaseinsideacallback//snsprovider,OKnottohaveusernameif(self.provider&

node.js - Mongoose Schema.update 不更新 bool 值

我已经尝试更新其他字段并且它工作得很好。我在API中使用的命令:User.update({email:targetUser.email},{$set:{isAdmin:true},$push:{'log.updated':newDate()}},function(err,user){if(err){responseObject.err=err;responseObject.data=null;responseObject.code=422;returnres.json(responseObject);}returnres.json(responseObject);});澄清一下,当我尝

javascript - Mongoose 不保存数据

我在对我的数据库进行简单查询时遇到问题。按照本教程进行操作:https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4当调用Model.find()时,他会收到一个返回的JSON对象,其中包含名称字段(唯一的自定义字段)以及_id和__v。当我这样做时,我收到的只是_id和__v字段。我确实收到了成功的回复,说帖子已创建,但它不包含标题或内容字段。然而查询显示数据从未保存。路由和查询:varexpress=require("express");varrouter=express.Router();va

node.js - 从 node.js session 获取信息与从数据库获取信息

我正在使用“express-session”和来自“connect-mongo”的MongoStore。现在根据我的理解,session以某种方式存储在mongodb中。假设我已将用户名存储在session中。现在,假设我经常需要用户最喜欢的颜色。我有两种方法。将喜欢的颜色存储在session中,或者使用session中的用户名来查询数据库。现在我的问题是,由于session存储在数据库中,从session中查询最终会查询数据库。那么,这两种方法有什么区别。如果它们不同,哪个更好? 最佳答案 检索session数据需要数据库查询。如

node.js - 在 Mongoose 中添加和删除

{"_id":1,"_name":"peter","favourites":[{"user_id":1},{"user_id":2}]}我在Mongo中有这个模式,我正在使用Node/Express/Mongoose来管理我的堆栈。我是这个特定堆栈的新手,我正在构建的网站上有一个“收藏夹”按钮。添加/删除收藏夹的最佳方式是什么?我真的需要设置两条路由,一条用于POST,另一条用于PUT吗?我不确定解决这个特定问题的最佳方法是什么,我进行了一些搜索,但没有找到任何相关的内容。 最佳答案 我不会给你完整的答案,因为学习总是好的,所以我给

node.js - 通过 URL POST 到 mongodb

我正在尝试通过浏览器的URL将数据发布到mongo数据库。我只能使用expressJS才能让它工作,但我很难让它与mongodb一起工作。我对此还是很陌生,所以我希望我只是缺少一个简单的组件并且我至少在正确的轨道上。当我在url中输入“http://localhost:27017/api/users?id=4&token=sdfa3”或“http://localhost:27017/nodetest5/api/users?id=4&token=sdfa3”时,我希望在网页上看到“4sdfa3”。现在我刚收到一个网页,其中包含以下消息:“看起来您正在尝试通过native驱动程序端口上的H