草庐IT

Node-red

全部标签

node.js - Mongoose 更新数据信息,如何防止覆盖

所以我尝试使用Mongoose更新mongodb数据库中的数据存储原来的数据结构是这样的{"_id":ObjectId("234u232kjrkjwebrkw"),"local":{"password":"sdflsdjflsdjlfkjsdlkfjklsdjflksd","email":"email@email.com"},"__v":0}我正在尝试更新“本地”中的“用户名”属性。之后它应该是{"_id":ObjectId("234u232kjrkjwebrkw"),"local":{"password":"sdflsdjflsdjlfkjsdlkfjklsdjflksd","ema

node.js - 更新具有数组和对象键的嵌套对象是动态的

我有一种情况,我需要执行查询,其中有一个动态key生成来在数组中添加数据,比如vartp='unique_key';db.sr_caller_info.update({caller:9967771131,month:201501},{$push:{data:{tp:{"abc":12,"xyz":30,"start_epoch":"","answer_epoch":"","end_epoch":"","file":"xxx",}}}})我的数据库结构如下{"caller":xxxxx,"circle":"xxxx","data":{"unique_key1":[{"abc":12,"x

node.js - Mongoose 两次定义字段时抛出 `Field is not in schema` 错误

我正在使用Nodev0.10.31和mongoose@3.8.22。我想我遇到了一个在特定事情发生时出现的错误。此错误的影响使我无法在同一架构上拥有字段“name”和“father.name.full”。这就是我定义模式的方式:'usestrict';varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/myapp');varPersonSchema=newmongoose.Schema({name:{type:mongoose.Schema.Types.ObjectId,ref:'Name',//i

javascript - 使用 Node.js Express 发布 JSON 对象时出现 MongoDB 格式错误

我正在制作看起来像的JSON对象varnewSong={'name':'Song','genre':'Genre','percent':'100','lyrics':[{"line":"1","lyric":"firstlyric"}]}然后像这样使用Express和Node.js更新我的MongoDB//inglobal.jsfile$.ajax({type:'POST',data:newSong,url:'/songs/addsong',dataType:'JSON'}).done(function(response){...checkingforerrors...}});//in

node.js - 如何从 OpenShift 上的 nodejs 墨盒访问 mongodb 变量?

我正在尝试将应用程序原型(prototype)部署到openshift。它在127.0.0.1本地与mongodb一起工作。我试图让它在openshift环境中遵守process.env.OPENSHIFT_MONGODB_DB_URL但我的nodejs墨盒在运行时无法访问该变量。我可以看到它是在我的应用程序的shell环境中设置的。当我执行rhcssh然后export时,我看到OPENSHIFT_MONGODB_DB_URL=[full_url_with_password]一切看起来都不错。但是,当我在我的node.js应用程序中调用process.env.OPENSHIFT_MON

node.js - 在 mongodb 中存储来自 nodejs 的 settimeout id

我正在使用express和nodejs运行一个网络应用程序。我有一个特定端点的请求,我在其中使用settimeout在不同的时间间隔后重复调用特定函数。例如router.get("/playback",function(req,res){//Definecallbackhere.......vartimeoutone=settimeout(callback,1000);vartimeouttwo=settimeout(callback,2000);vartimeoutthree=settimeout(callback,3000);});settimeout函数返回一个带有循环引用的对象

node.js - find() 的 Mongoose 默认过滤器/查询参数

如果我有一系列文档,例如:{type:'post',text:'example',status:'private'//or'public'}我可以使用哪种中间件或架构配置来确保默认情况下,Model.find()仅返回status!='private'的文档?我不想每次查询集合时都必须冗余查询status!='private'。感谢您的帮助! 最佳答案 您可以尝试为您的模型实现一个包装方法,例如findNonPrivate(),然后您可以委托(delegate)它查找每个status不等于的文档“私有(private)”。像这样:v

node.js - 平均堆栈中的 session 处理

我是MEANstack的新手,目前meanstack正在向mongodb插入session:app.use(session({saveUninitialized:true,resave:true,//cookie:{maxAge:600},secret:config.sessionSecret,store:newmongoStore({db:db.connection.db,collection:config.sessionCollection})}));但我想在该session中保存一些自定义变量并跨请求访问它们,但我不知道如何在session中保存它。假设我想在session中保存

node.js - Mocha 测试执行时间太长

所以我正在开发一个express.js应用程序,其中我有一个Mongoose模型用户。我编写了一个测试文件(使用Mocha)来测试save()函数,但我所有的测试执行时间太长,最终超时。这是我遇到的错误:Testing-Server-User-ModelTestingsave()1)shouldbeabletosavewithoutproblems2)shouldfailtosaveanexisitnguseragain3)shouldshouldanerrorwhentrytosavewithemptyemail4)shouldgiveanerrorwhentrytosavewith

node.js - 聚合以从文档和数组元素中获取平均值

我有这些对象的数组:item1={name:'item',val:1,list:[{type:'a',value:1},{type:'b',value:1},{type:'c',value:1}]};item2={name:'item',val:5,list:[{type:'a',value:3},{type:'b',value:99},{type:'c',value:1}]};它们都有相同的数组,相同的类型“a”、“b”和“c”,但值不同。如何获取类型“a”、“b”和“c”的平均值?如何获取所有项目的平均值?期待itemAvg={name:'item',val:3,list:[{ty