草庐IT

Node-red

全部标签

node.js - Mongoose findOne 数组的 ObjectId 返回 null

在使用ObjectId数组执行findOne查询时遇到一些问题。简化架构如下:型号:varInboxSchema=newSchema({_users:[{type:mongoose.Schema.ObjectId,ref:'User',required:'Usersarerequired',unique:true}]}mongoose.model('Inbox',InboxSchema)查询:varusers=[];varuserIds=['5567ead844997f969fe3f00f','558b8492f1723b090b414765'];for(vari=0;i尽管Inbox

node.js - MongoDB 独特的功能和字母排序

我有一个关于从mongodb中的不同命令排序结果的简单问题。我在我的NodeJS应用程序中使用Monk从我的简单数据库中获取类别:db.getCollection('citazioni').distinct('category')但是,当我找到具有以下内容的文档时,我该如何应用排序功能,就像我成功执行的那样:collection.find({},{sort:{'_id':-1}}??谢谢! 最佳答案 Monk支持底层node.jsnative驱动程序distinct()方法及其signature是Collection.prototy

node.js - MongoDB 聚合组最近 7 天的平均评分,值为空

我正在尝试查询一个集合并检索过去7天(不包括当天)每一天的平均值。在某些或所有的日子里,可能没有平均值。这是我目前所拥有的:vardateTill=moment({hour:0,minute:0}).subtract(1,'days')._dvardateSevenDaysAgo=moment({hour:0,minute:0}).subtract(7,'days')._d;Rating.aggregate([{$match:{userTo:facebookId,timestamp:{$gt:dateSevenDaysAgo,$lt:dateTill}}},{$group:{_id:{

node.js - 如何处理 mongoose 模型中 find 方法的回调结果

我正在使用mongoose作为nodejs-mongodb应用程序的ODM。是我的第一个nodejs应用程序,我来自非函数式编程背景。查看docs你可以找到的Mongoose:Kitten.find(function(err,kittens){if(err)returnconsole.error(err);console.log(kittens);});太棒了,这里我们有find函数作为模型(Kitten)的一部分,它实际上可以找到文档并在回调函数中将其检索为“kittens”,在本例中它使用console.log().但我想知道这个函数式编程是如何将这个值赋给一个变量的(因为我在模型

node.js - 如何使用点符号查找记录并使用 Mongoose 更新模式中的值

我正在使用mongoose在我的数据库上执行CRUD操作。这就是我的模型的样子。varEmployeeSchema=newSchema({name:String,description:{type:String,default:'Nodescription'},department:[],lastUpdated:{type:Date,default:Date.now}});部门可以包含这样的对象数组。[{"id":"55ba28f680dec4383eeebf97","text":"Sales","topParentId":"55ba28f680dec4383eeebf8b","top

node.js - 文档中的空字段是否会占用 Mongoose 中的空间?

我没有求助于继承或引用,而是考虑定义一个包含所有可能字段的模式。因此,模式将有许多字段,其中一些字段在大多数情况下都是空的。空字段是否仍会占用数据库空间?我应该改为定义单独的架构吗? 最佳答案 由于您使用的是Mongoose,因此答案涉及很多细微差别。Mongoose会根据字段类型做各种事情。如果您定义String的Number类型的字段,例如{name:String,age:Number}姓名和年龄都不是“必填”字段。一旦您仅使用名称调用create,例如model.create({name:'Yuri'})然后在您的数据库中,您

node.js - 在 MEAN 堆栈中,如何进行一次性 MongoDB 索引?

我将Node.js和MongoDB与Mongoose结合使用。我正在连接到Mongoose形式的Node.js,db=mongoose.connect('mongodb://localhost/my_database_name')如何在node.js中配置一次到createindex关于收藏?我的应用程序的目录结构是基于thistutorial:HTMLviews/Angular.jspublic/javascript/Express.jsroutes/Node.jsapp.jsMongoosejsmodels/,setupinapp.jsMongodbsetupinapp.js指导我

node.js - 使用 SailsJS 模型定义获取查询属性

我想通过id查询一个图书馆,我只需要一些属性。我尝试了以下脚本,但它不起作用:Library.findOne({id:libraryId},{latitude:1,longitude:1,name:1,address:1,image:1}).exec(function(err,libObj){if(err)returnres.ok(err);returnres.ok(libObj);});我的代码有什么问题? 最佳答案 对于投影,您可以使用native()直接访问mongo驱动程序的方法:varcriteria={id:librar

node.js - 来自 mongoose 方法的新文档

我想用新方法“创建”扩展模型。它将检查文档创建的要求、创建其他文档等。通常我打电话varuser=newUser({});但是我如何从mongoose方法本身创建文档呢?即User.methods.create=function(userObject,callback){//somechecksvardoc=???;doc.save(function(err){if(err)returncallback(err);//savingdonecallback(null,doc);});}更新:感谢@chridam的回答,我的最终代码现在看起来像这样:User.statics.create=

node.js - NodeJS 和 mongoose - 查找上一小时的记录

我正在查询我的MongoDB,我想用2个表填充UI:数据库中的所有记录当前记录,在过去一小时内创建我能够获取所有记录,但下面的当前记录查询不起作用。app.get('/',function(req,res){varmyDate=newDate(Date.now()-1*60*60*1000);varcurr=MyCollection.find({_id:{$gt:myDate}}).exec();MyCollection.find({},function(err,doc){res.render('index.jade',{latest:curr,all:doc});//thisquer