草庐IT

nodes_alive

全部标签

node.js - 如何在查询中使用 $push 将数据插入子文档,而不是检索文档并将其保存回来

编辑:这确实有效作为Mongoose-Subdocs:"Addingsubdocs"文档说,我们可以使用push方法添加子文档(即parent.children.push({name:'Liesl'});)但我想更进一步,想使用$push运算符来插入子文档。我有两个模式:ThingSchema:varThingSchema=mongoose.Schema({name:{type:String,required:true},description:{type:String}});和BoxSchema,主文档包含ThingSchema的子文档(things)数组:varBoxSchema=

node.js - 如何在 Meteor 中定义嵌套数组的模式?

我将SimpleSchema与Meteor一起用于构建数据库条目。问题是,我有一个数组数组,但定义的架构不起作用。这是一个文档示例:Courses.insert({"persian_title":"persiantitle","english_title":"englishtitle","free_for_all":true,"price":1000,"is_offer":false,"offer_price":500,"Seasons":[{"title":"firstSeason","free_for_all":false,"Episodes":[{"title":"firstEp

node.js - 在 Cloud 9 上安装 Mongoose 失败

我已经在Cloud9实例上安装了MongoDB,但所有安装nativemongodb或mongoose驱动程序的尝试都失败了。$npminstallmongoosenpmWARNpackage.jsonchat-example@0.0.0Norepositoryfield.npmWARNpackage.jsonchat-example@0.0.0Nolicensefield.\>kerberos@0.0.17install/home/ubuntu/workspace/node_modules/mongoose/node_modules/mongodb/node_modules/mong

node.js - 聚合返回空数组

使用mongoose的Model.aggregate()返回一个空数组。我基本上复制了格式,如here所示.varmatch={};varproject={};project["_id"]=0;project["products.totalprice"]=1;project["line"]="$products.closedate";ThisCollection.aggregate([{$match:match},{$project:project},{$group:{_id:"$line"}}],function(err,docs){console.log(docs);//!!Ret

node.js - 是否需要在nodejs中关闭mongodb连接?

我是nodejs和mongodb的新手。在mongodbnative驱动程序网站中,他们在每次请求后关闭连接,但在高流量网站中似乎非常缓慢且存在问题。我只是想知道是否有必要这样做,或者我可以声明一个全局变量并将其引用到DB,如下所示:varmongodbClient=require('mongodb').MongoClient;vardb;functionconnect(){mongodbClient.connect('connectionstring',function(err,mdb){db=mdb;});}connect();functioninsert(query,collec

node.js - 使用 Express 设置 React Router

我有几个关于使用Express设置React的问题。首先,我对Express和React-Router使用了相同的路由路径。我认为这些应该匹配。但是当我导航到页面api/blogPosts时,它只显示我从MongoDB获取的数据的JSON格式。也就是说,Express路由覆盖了ReactView。我知道我可以只修改React-Router中的路由路径(例如,前面没有“api”)以便有不同的路由。然后它将按预期显示ReactView,同时仍然进行api调用。但同样,我认为路由路径应该匹配。我该如何正确处理?其次,我使用了express.Router(),但我不确定是否有必要这样做。什么时

node.js - 如果 800k 记录需要 50 秒,随着服务器变得理想,队列中的所有 http 待处理请求将阻塞 50 秒

如果800k记录需要50秒,则队列中的所有http待处理请求将阻塞50秒,因为服务器变得理想。varhttp=require("http");varurl=require("url");varMongoClient=require('mongodb').MongoClienthttp.createServer(function(request,response){if(url.parse(request.url).pathname=='/search'){varcollection=db.collection('documents');//supposeittakes800krecor

javascript - Node.js、Express 和 Mongoose 提供多个静态文件

使用Node.js、Express和Mongoose,我使用以下代码(工作正常)在多个子目录中同步提供多个静态文件:fs.readdirSync(__dirname+"/../../../np-site/themes/default/client/").forEach(function(dir){app.use(express.static(__dirname+"/../../../np-site/themes/default/client/"+dir));});但是,部分url必须是动态的,具体取决于数据库条目值:express.static(__dirname+"/../../..

node.js - mongoose 中的 populate 函数是做什么的?

当我阅读http://mongoosejs.com/docs/populate.html时,我不明白这个问题.我不完全理解populate函数的作用。我从meanjs示例源代码中获取它:Article.find().sort('-created').populate('user','displayName').exec(function(err,articles){if(err){returnres.status(400).send({message:errorHandler.getErrorMessage(err)});}else{res.json(articles);}});提前致

node.js - nodejs + mongodb错误异常: FieldPath 'progress' doesn't start with $

我正在尝试修改此查询中的第二个管道(我从此处获得nodejs+mongoose-queryaggregatedb.todos.aggregate([{"$group":{"_id":"$pic","open_count":{"$sum":{"$cond":[{"$eq":["$status","open"]},1,0]}},"progress_count":{"$sum":{"$cond":[{"$eq":["$status","progress"]},1,0]}},"done_count":{"$sum":{"$cond":[{"$eq":["$status","done"]},1,