草庐IT

Mongoose-Express-Mongodb

全部标签

javascript - 如何在 mongoose (node.js) 中为产品系统定义不同的属性

我正在构建一个个人商店应用程序,用户可以在其中相互销售商品,但我很难弄清楚如何管理这些产品。例如,如果你想卖一件T恤,你应该可以选择尺码和颜色等。但如果你卖一台电脑,你应该指定年份、CPU功率等。所有产品都有标题、价格、图片等上,但是您将如何处理不同的属性?我正在为对象使用mongodb。我在考虑有一个字段attributes,它应该是一个具有不同细节的对象,然后有一个字段type来定义存在的属性。如果type='Computer那么我会知道attributes看起来像这样。attributes:{capacity:1000//gbram:4096//MB}等等在普通的面向对象设计中,

javascript - Node.js、Express、i18n 中的国际化

我将Node.js与Express框架和i18nmodule一起使用.所以我用vari18n=require('i18n');app.configure(function(){[...]app.use(i18n.init);app.use(app.router);});在我的应用程序设置中。一切正常,但我真正需要的是强制i18n使用我想要的语言。场景如下:当用户未登录时,i18n在accept-languageheader中搜索langauage就可以了。但是当用户登录时,我想在用户设置的某个地方保存所选的语言,检索它并强制i18n模块使用这种语言。如何做到这一点(假设我已经知道如何将

javascript - 如何在 Mongoose 中构建条件查询?

以下代码适用于无查询字符串或仅适用于一个查询字符串。换句话说,只需转到/characters即可返回所有字符。但是,如果您要指定查询字符串参数/characters?gender=male,它将仅返回男性字符。我如何扩展它以使用1、2、3或无查询字符串?我真的希望避免为每个案例编写8或9个不同的if语句。我希望Mongoose会简单地忽略$where子句,如果它是null或undefined,但事实并非如此(请参阅注释掉的代码).vargender=req.query.gender;varrace=req.query.race;varbloodline=req.query.bloodl

javascript - 向现有 MongoDB 文档添加一个字段(在 Node.js 中使用 Mongoose)

我在MongoDB数据库的Article集合中有这个现有文档:[{site:'www.atlantico.fr',date:'2014-05-27T11:10:19.000Z',link:'http://www.atlantico.fr/example.html',_id:538473817eb00f082f4803fc,__v:0}]我想使用Node.js中的Mongoose添加一个值为'example'的新字段day到此文档。所以我这样做:Article.update({link:'http://www.atlantico.fr/example.html'},{$set:{day:

javascript - 存在哪些 Express websocket 事件?

我想知道存在哪些websocket事件到目前为止我只使用了ws.on('message')事件,但我想使用一个在连接时触发的事件建立和关闭。我尝试添加ws.on('connection'),但没有被触发。我的代码:app.ws('/',function(ws,req){ws.on('message',function(textChunk){//dostuff}});});我需要一些客户端编程来做到这一点吗?我尝试添加这个,但是当我从我的客户端连接时它没有触发。ws.on('request',function(){console.log("request");});

javascript - 编写 express.js 应用程序。辅助方法去哪里了?

所以我开始使用express.js——我的第一个JS网络开发框架。我没有做任何小事,而是开始了一个更大的项目。我在学习,同时也在build。来自Python/Flask背景,express似乎非常复杂。就像在python中一样,如果我想要一个辅助方法,我可以将它放在文件顶部或新模块中,然后导入它。super简单。但是在node/express中,事情是异步的,一切都在exports或module.exports中(??)。辅助方法去哪里了?我如何通过回调调用它们?在anotherquestion我问,我多次进行相同类型的计算。在Python中,我会编写一个方法(带有if语句和参数),并

javascript - 在Node.Js Express中, "res.render"是否结束http请求?

所以,只有在您确定一切都已完成时才执行“res.render”,对吗?因为它结束了请求并弹出了一个网页。 最佳答案 如果您不提供对res.render(view[,options[,fn]])的回调,它将自动给出一个带有200HTTPStatus和Content-Type的响应:text/htmlres.render('view',{},function(){while(true);//shouldblock});res.render(view[,options[,fn]])Renderviewwiththegivenoptions

javascript - Mongoose JS 查询全部返回 null 或空

我正在尝试创建一个简单的MongooseJS示例程序,它从集合中获取项目列表,但每次返回时都是空的。这是代码:varmongoose=require('mongoose'),Schema=mongoose.Schema;varsampleSchema=newSchema({sampleField:String});vardb=mongoose.connect('mongodb://localhost:27017/test');varsampleCollection=mongoose.model('sampleCollection',sampleSchema);sampleCollect

javascript - 从 express.js 中删除所有 header

我正在创建一个页面,其中有一些数据会被另一台设备解析。我以前用php来做这个,但我正在把它移到node.js上。我需要从页面中删除所有标题,所以我只有我的输出。此输出是对GET请求的响应。目前我有HTTP/1.1200OKDate:Wed,11Sep201311:54:14GMTConnection:closeMyoutput我需要它来显示Myoutput 最佳答案 通常,您可以使用Express(node.js)中Response对象的API来删除header,但是,其中一些header是HTTP规范所必需的,应该始终存在。Dat

javascript - 为什么 MongoDB 不保存我的属性

我在尝试添加用户时用一些虚拟数据填充我的数据库。创建了一个用户对象,但没有保存任何属性...怎么了?app.get('/setup',function(req,res){User.findOne({name:"Nick"},function(err,user){if(user==undefined){varnick=newUser({name:"Nick",}).save();res.json({"success":true,"msg":"usercreated"});}else{res.json({"success":true,"msg":"userexisted"});}});})