草庐IT

Node-red

全部标签

mongodb - Node.js 和 Mongodb - TypeError : undefined is not a function

我和我的friend正在尝试使用Node.js和MongoDB创建一个基本的网络应用程序,但我们在尝试连接到数据库时遇到了问题。我们收到的错误如下:C:\Users\JamesKienle\Dropbox\Apps\Azure\Hanky-Ranky\server.js:24mongoClient.open(function(err,mongoClient){//C^TypeError:undefined不是一个函数在对象。(C:\Users\JamesKienle\Dropbox\Apps\Azure\Hanky-Ranky\server.js:24:13)在Module._comp

javascript - 如何将类似数组的字符串转换为 Node.js 中的数组?

我正在Node.js应用程序中编写API。这是一个发送一堆数据的POST调用,它在正文中发送timings参数作为一个字符串,看起来像一个数组[["11:00AM","1:00PM"],["1:00PM","4:00PM"]]。当我将它插入MongoDB时,它被存储为一个数组,但整个文本作为第一个数组元素中的一个字符串。我知道我可以通过要求客户端应用程序发送以逗号分隔的字符串(如11:00AM,1:00PM)并在使用String.split将其插入数据库之前在JavaScript中拆分该字符串来规避此问题()但这只适用于一维数组。我有一个多维数组,它在POST请求中作为字符串发送。如何

node.js - 用于 node.js 和 Mongodb 的 Algolia

我现在有一个问题,Algolia确实提供了有关node.js的丰富文档,但我现在的问题是1)如何将mongodb数据库导入到algolia服务器?似乎他们正在展示如何使用MySql数据库而不是Mongodb和node.js2)我使用ejs呈现html,所以我需要使用node.js查询搜索值还是让客户端html处理它?因为我必须使用ejsapp.get("/testingSearch",function(req,res){res.render('testing',{message:value});})app.post("/postSearch",function(req,res){//s

node.js - Mongoose 预保存 Hook 正在触发,但未保存其他字段(不使用 model.update)

我试图在我的模式中实现一个计数器来获取下一个问题编号。我已经将它实现为Mongoose中的钩子(Hook)预保存钩子(Hook),一切看起来都很好......除了实际的“数字”字段不会更新。我可以很容易地通过记录到控制台的内容来判断Hook正在触发,甚至该字段似乎也已分配。但遗憾的是,无论我尝试什么,“数字”字段都不会出现在结果中。我看到了几个与MongooseHook相关的问题,但它们似乎都与我没有使用的findOneAndUpdate等相关。这是我的完整模型,底部有钩子(Hook):varmongoose=require('mongoose');varSchema=mongoose

node.js - mongodb node.js 查找数组中存在多个 ID 的文档

我有一个包含mongodb集合ID的数组array=['573163a52abda310151e5791','57358e5dbd2f8b960aecfa8c','573163da2abda310151e5792']像这样,在我的nodejs代码中我想找到所有这些Id的文档。我使用的包是mongoskin。根据文档,这是找到结果的正确方法,它给了我想要的结果。但是这里我想使用数组而不是直接值,但无法找出如何做到这一点db.coll.find({_id:{$in:[mongoskin.helper.toObjectID("573163da2abda310151e5792"),mongos

node.js - Mongodb 和 Nodejs 中的锁

我正在尝试构建一个非常简单的购物应用程序,用户可以在其中使用虚拟货币购买商品。我为此使用了多个NodeJS进程,所以我对异步部分感到害怕。这是我的做法:app.post('/buy',function(req,res){User.findOne({_id:req.userId},function(err,user){if(user.balance>=ITEM_PRICE){User.decrementBalance({_id:req.userId},function(err){//Dotransaction,giveitemtouser,etc});}else{//Notenoughm

node.js - Mongojs.ObjectId() 产生错误的时间戳

在我的node.js脚本中创建一个新的ObjectId时使用:mongojs.ObjectId()我得到一个像这样的_id“f5818257dd0b55ce321f87b5”当我使用时:mongojs.ObjectId(“f5818257dd0b55ce321f87b5”).getTimestamp()我得到:“SunJul10201619:12:21GMT+0200(CEST)"但是当我在MongoDBShell中使用ObjectId("f5818257dd0b55ce321f87b5").getTimestamp()时,我得到:ISODate("2100-07-10T12:23:5

javascript - node.js - 想在同一个路由器 POST 中发送两个资源

我的路由器设置如下:questionRouter.post('/questionsReply',(req,res)=>{twilioResp(req,res);varnewResponse=newResponse(req.body);newResponse.save((err,data)=>{if(err)returnhandleDBError(err,res);res.status(200).json(data);});console.log('From:'+req.body.From);console.log('Message:'+req.body.Body);});我正在尝试将收

node.js - 使用 RoboMongo 生成新的 ObjectId

我已经使用robomongo将一个对象推送到Mongoose对象数组中db.getCollection('model').update({_id:ObjectId('')},{$push:{array:{Object}}})但这并没有创建ObjectIdoin文档。现在我必须手动插入ObjectId。问题是如何生成和更新文档 最佳答案 您可以通过ObjectId()获得新的对象ID例如x=ObjectId()在本例中,x的值为:ObjectId("507f1f77bcf86cd799439011")进一步https://docs.m

Node.js MongoDB 驱动游标计数不正确

我在使用MongoDBNode.jsnative驱动程序版本2.2.29时遇到问题。这是我正在运行的代码:letcursor=db.collection('log').find({timestamp:{'$lte':1498556839}}).sort({create_date_ttl:-1}).limit(3);如果我现在运行cursor.count()并处理Promise,我会看到计数为我提供了56条记录而不是3条(指定的限制)。cursor.count().then((count)=>{//counthereis56});但是,如果我使用回调运行cursor.count(func