草庐IT

node-schedule

全部标签

node.js - Mongoose 按填充字段排序

好吧,我有以下shemas:varBrandSchema=newSchema({name:{type:String,required:true,index:{unique:true},lowercase:true},logo:{type:ObjectId,ref:'Image'}});varFollowActionSchema=newSchema({'actionDate':{type:Date,'default':Date.now},'brand':{type:ObjectId,ref:'Brand'},'performer':{type:ObjectId,ref:'User'},'

node.js - 如何在node.js应用程序的其他文件中使用mongo db的连接文件

我有一个文件connection.js,我想在另一个文件中使用它。如何在另一个文件中使用此文件来插入和更新数据库。例如,我有另一个名为item.js的文件,我想在其中将项目详细信息添加到数据库中。varmongodb=require('mongodb');module.exports=function(){this.getConnection=function(callback){varMongoClient=mongodb.MongoClient;varurl='mongodb://localhost:27017/ShoppingCart';console.log(url);Mong

node.js - Mongoose 无法更新我的文档

我需要批量删除feedback到article、comment或reply实体。这是我的实现exports.batchDeleteFeedback=function(req,res,next){vararticleId=req.body.articleIdvarcommentId=req.body.commentIdvarreplyId=req.body.replyIdvarTarget,targetId,fieldif(articleId){Target=ArticletargetId=articleIdfield='article'}elseif(commentId){Target

node.js - Mongoose 批量插入或更新文件

我正在开发一个node.js应用程序,我一直在寻找一种使用Model.save()函数的方法,因为我想同时保存许多文档,所以这会是一种浪费网络和处理一一进行。我找到了一种批量插入的方法。但是,我的模型有两个使它们唯一的属性,一个ID和一个HASH(我从API获取此信息,所以我相信我需要这两个信息来使文档唯一),所以,我希望如果我得到一个已经存在的对象,它将被更新而不是插入到模式中。有什么办法吗?我正在阅读有关使用Q进行并发调用以保存对象的内容,但是我仍然认为这会在Mongo服务器上产生不需要的负载,不是吗?Mongo或Mongoose是否有像插入一样批量插入或更新的方法?提前致谢

node.js - 获取数组中包含特定属性的文档

我有一个包含食谱的文档集,如下所示:{"title":"Pie","url":"pie.png","people":"4","ingredients":[{"amount":"150","measure":"g","name":"Butter"},{"amount":"200","measure":"g","name":"Flour"}],"_id":ObjectId("55acf33223ae282719bdc9b7")}我正在尝试创建一个查询来检索包含多个字段(如“黄油”和“面粉”)的所有文档。我已经设法检索到包含一个字段的文档,如下面的查询:db.recipe.find({"in

node.js - 如何在mongodb中组合对象数组结果

如何将匹配文档的子文档合并为一个并将其作为对象数组返回?我试过$group但似乎不起作用。我的查询(在这种情况下返回对象数组有两个)User.find({'business_details.business_location':{$near:coords,$maxDistance:maxDistance},'deal_details.deals_expired_date':{$gte:newDate()}},{'deal_details':1}).limit(limit).exec(function(err,locations){if(err){returnres.status(500

node.js - 具有不同对象方法的 Mongoose 多类型模式

当我有一个具有多类型属性的集合架构时。比如可以是数字也可以是字符串我为此使用了mongoose的混合类型,但所有验证都消失了。问题:varemployeeSchema=mongoose.Schema({_id:false,title:string,...});EmployeeSchema.methods.(....)//addsomemethodsvarGroupSchema=({visitor:{},//visitorcanbeanEmployeeschemaorastringofpersonnamenote:string,time:Date},{collection:'group'

node.js - Mongoose - 根据分数或权重在三个字段中搜索文本

我在MongoDB之上使用Mongoose。这就是我的模型的样子。varBookSchema=newSchema({name:String,viewCount:{type:Number,default:0},description:{type:String,default:'Nodescription'},body:{type:String,default:''}}});我需要在Name、Description、Body字段上搜索一些文本。到目前为止,这就是我正在做的及其工作:Book.find().or([{'name':{$regex:term,$options:"$i"}},{'

node.js - 在 Node 中使用异步 mongodb 查询的嵌套循环

问题我在MongoDB中有3个集合地区每个文档对应一个地理区域,有一个区域名称字段,另一个字段是更广泛区域内的一系列农场细节此集合包含文档,每个文档都与特定农场相关,并且包含与该农场详细信息相关的各个字段,例如奶牛数量产量此集合再次包含文档,其中每个文档都与特定农场相关,并且此实例中的字段用于农场每天的产出我正在尝试编写一个函数,该函数将从区域集合开始,对于第一个区域,它会获取每个单独的农场ID,并使用它来查询其他两个集合,以获得该区域的总产量和奶牛总数农场,然后对每个农场求和以获得该地区的总数。尝试我首先尝试对单个区域使用直接的mongodb调用vardb=client.connec

node.js - Mongoose :将元素插入或替换到数组中

我正在使用Mongoose(node.js中的MongoDB),阅读此答案后:Replacevalueinarray我还有一个问题:是否可以在同一句话中做:将元素插入数组或如果该元素存在于数组中则替换?也许是这样的?(示例不起作用)Model.findByIdAndUpdate(id,{$pull:{"readers":{user:req.user.id}},$push:{"readers":{user:req.user.id,someData:data}}},{multi:true},callback)消息错误:errmsg:'异常:无法同时更新\'readers\'和\'reade