草庐IT

Node-red

全部标签

javascript - 错误 : ENOENT, 没有这样的文件或目录 '/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript/app/models

我正在尝试运行project。但它给出了一个错误fs.js:666returnbinding.readdir(pathModule._makeLong(path));^Error:ENOENT,nosuchfileordirectory'/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript/app/models'atObject.fs.readdirSync(fs.js:666:18)atrequire_tree(/home/shubham/Documents/Node/lets-chat/node_modules/re

node.js - Mongoose 将 _id'ss 保存为字符串而不是 ObjectId

将Nodejs与Mongodb和Mongoose结合使用。我刚刚发现Mongoose/Mongodb一直将自动生成的_id字段保存为字符串而不是ObjectId。Mongodbshell输出和示例文档:>db.users.count({_id:{$type:7}})2>db.users.count({_id:{$type:2}})4266>db.users.find({_id:{$type:7}},{_id:1}).limit(1){"_id":ObjectId("55f7df6fdb8aa078465ec6ec")}>db.users.find({_id:{$type:2}},{_i

javascript - 为什么来自 mongodb node.js 驱动程序的 insertOne 方法会改变要插入的对象?

我正在用node学习mongodb,我正在玩下面的代码varassert=require('assert')varurl='mongodb://localhost:27017/learnyoumongo'varclient=require('mongodb').MongoClientvardoc={firstName:'Steve',lastName:'Smith'}console.log(doc)//logsasexpectedclient.connect(url,(err,db)=>{assert.equal(err,null)vardocs=db.collection('docs

node.js - MongoDB:连接多个数组

我有3个ObjectIds数组,我想连接成一个数组,然后按创建日期排序。$setUnion正是我想要的,但我想尝试不使用它。我要排序的对象的架构:varchirpSchema=newmongoose.Schema({interactions:{_liked:["55035390d3e910505be02ce2"]//[{type:$oid,ref:"interaction"}],_shared:["507f191e810c19729de860ea","507f191e810c19729de860ea"]//[{type:$oid,ref:"interaction"}],_viewed:

node.js - NodeJS/Express 无法连接到在 docker 中运行的 mongodb

我在从nodejs/express应用程序连接到在docker容器中运行的mongodb实例时遇到问题。nodejs应用程序在我的本地主机MacOSX上运行。我正在使用Docker工具箱在我的Mac上运行docker,而不是boot2docker。我已经通过-parg启用端口转发到dockerrun。dockerrun-p27017:27017--nametest-dmongo:2.660b7f3cf658bc75ceca2eae074e5f694ec622f7487b6a2f36fa02edd4af68357我可以看到它在运行。dockerpsCONTAINERIDIMAGECOMM

node.js - mongodb/nodejs/express/mongojs 和 findAndModify 的问题

目前正在学习一些Node.js、Express和MongoDB的在线类(class)。在这个类(class)中有一个api部分,他们教你做一些简单的事情,但我遇到了一个问题,类(class)视频显示他更新了一个项目的名称,而api使更新更多字段成为可能,他的字段保持值(value),我的字段实际上最终为空。代码是app.put('/products/:id',function(req,res){db.products.findAndModify({query:{_id:mongojs.ObjectId(req.params.id)},update:{$set:{name:req.bod

node.js - 如何从 node.js 将大数据集转储到 mongodb 中

我正在尝试将大约220万个对象转储到mongodb中(使用mongoose)。问题是当我一个一个地保存所有对象时它卡住了。我在下面保留了示例代码。如果我以50,000的价格运行这段代码,效果会很好。但是,如果我将数据大小增加到大约500,000,它就会卡住。我想知道这种方法有什么问题,我想找到一种更好的方法来做到这一点。我对nodejs很陌生。我试过循环,但一切都没有帮助,最后我找到了这种解决方案。这个对50k个对象工作正常,但对220万个对象就卡住了。一段时间后我得到了这个fatalerror:CALL_AND_RETRY_2分配失败-进程内存不足中止(核心转储)varconnect

node.js - MongoDB - Mongoose : Aggregate generation, $match $group $project

我是mongoDB世界的新手。我正在使用expressJS和mongoose作为数据库在nodeJS上开发一个网站。我正在研究图形方向,我用这个模型生成了一个数据库:varuserSchema=newSchema({profile:{sexe:String,//('male'or'female')age:String,//('kid','adult','old')rank:String,//('low','middle','high')},design:{luminosity:String,//('light','dark')color:String,//('blue','green'

node.js - Mongoose 聚合 $sum 返回零

我有一个像这样的聚合函数:varmatch={};match["products.totalprice"]={$exists:true};varproject={};project["_id"]=0project["products.totalprice"]=1;project["line"]="$products.closedate";ThisCollection.aggregate([{$match:match},{$project:project},{$group:{_id:"$line",total:{$sum:{$ifNull:["$products.totalprice",

node.js - populate涉及mongoose时如何返回文档内容数组

假设我有像这样的书籍和页面的Mongoose模型:mongoose.model("Book",newSchema({title:String});还有这个mongoose.model("Page",newSchema({pageNumber:Number,_bookId:{type:ObjectId,ref:"Book"}});每一页都记录它属于哪本书。现在我想要一个页面编号为500的书籍数组。我可以做以下事情:Page.find({pageNumber:500}).populate("_bookId").then(function(pages){varbooks=[];pages.f