草庐IT

nodes_alive

全部标签

node.js - `save()` 是否被视为在 Mongoose 中更新文档的反模式?

请看下面的例子:constmyDoc=awaitmodel.findById(id).exec();//hererunslongrunningoperationwhichcantakeabout2-3secsmyDoc.name="UpdatedName";myDoc.save()可以使用这种模式更新文档吗?如果在checkout文档和保存文档之间(需要2-3秒)一些其他代码将尝试更新该文档怎么办?这意味着不会保存来自另一个代码的更改?如果是,是否意味着使用findOneAndUpdate和类似方法在MongoDB端进行更新更好? 最佳答案

node.js - 如何将多个POST参数传递给mongodb并获得匹配结果

我有一个包含100个文档/行的MongoDB集合书籍。我使用POSTMAN发出带有2个参数“类型:科幻”和“语言:英语”的POST请求。我想从我的集合books中得到一个简单的json响应,其中的文档只包含这个值(在SQL中我会做这样的事情:SELECT*FROMbooksWHEREgenre="scifi"ANDlanguage="english",但我在nodejs/express/mongodb中需要这个。)Nodejs、Express和MongoDB运行正常,我已经创建了一个包含文档的集合:api.jsvarexpress=require('express');varapp=e

node.js - 初始化后winston-mongodb错误

我正在尝试配置一个基本的winston记录器,但一直出现相同的错误。到目前为止我要配置的就是这个varwinston=require('winston');varmongoLog=require('winston-mongodb').MongoDB;varappSettings=require('./appSettings');varlogger=new(winston.Logger)();logger.add(mongoLog,{db:appSettings.database,host:appSettings.dbConnection,collection:appSettings.l

javascript - Node.js Body-Parser 无法检索表单输入

我正在尝试console.log来自表单的输入。但是,正文解析器对我尝试在终端上打印的输入显示“未定义”。我不确定我做错了什么。请告知我做错了什么。谢谢。HTML格式App.js//portandmodulesvarport=3000;varexpress=require('express');varhttp=require('http');varpath=require('path');varformidable=require('formidable');varbodyParser=require('body-parser');varmongoose=require('mongoo

node.js - 如何在 Mongoose 中对 _id 数组进行分页?

这个问题在这里已经有了答案:mongoDBarraypagination(1个回答)关闭5年前。目前,我有这样的困惑,那就是对架构中的项目数组进行分页。所以从技术上讲,每个用户都有一个购物车,我想对购物车的商品进行分页。例如,假设购物车存储了18件商品。我想将购物车分页为只有5件商品。这是架构constUserSchema=newSchema({email:{type:String,unique:true,lowercase:true},cart:[{type:Schema.Types.ObjectId,ref:'Product'}],});这是路线我目前的做法router.get('

node.js - 无法将 mongodb atlas 连接到 intellij MongoExplorer

我正在为我的后端使用mongodbatlas,我正在尝试将它连接到intellij的MongoExplorer这是进一步细节的第一张图片这是我提供数据库用户名和密码但仍然无法连接的第二张图片。我已经非常轻松地连接到本地主机,没有任何问题,但这没有连接...我正在使用具有学生许可的IntellijIdeaUltimate2017.1.3。我认为这个特定的许可和Ide版本没有问题提前致谢:) 最佳答案 这是非常简单的步骤:在pom.xml文件中添加这些依赖项:org.springframework.bootspring-boot-sta

node.js - 如何从 MongoDB 回调和 Node 中删除 "result"、 "insertedCount"和 "insertedIds"并仅获取一个数据库对象数组?

我刚刚更新了Node,之前有一段时间没有这样做,不得不重新安装MongoDB和其他模块。以前我在使用find()函数时只会获得一个数据库对象数组,而现在我获得了一个包含“results”、“ops”、“insertedCount”和“insertedIds”的JSON对象。我不记得最初设置它时我可能做了什么,或者这可能只是Mongo的一个恼人的变化,但我想回到只获取数据库对象数组的状态,这样我就不必测试我的整个服务器。我尝试了几个npm解析模块都没有成功。这是一个例子:{result:{ok:1,n:1},ops:[{user:'595ee2fec2924e5435dfdd2d'},_

node.js - 如何在nodeJS上未经身份验证跟踪用户

我使用nodeJS开发了一个移动网络应用程序。所有用户无需身份验证即可访问数据(食物、菜单等)。他们可以列出产品,喜欢它们,或者将它们标记为最喜欢的..等等我想要的是给他们唯一的ID(第一次访问)在他们每次访问时识别他们并通过将这些操作存储在我的数据库中来跟踪他们的操作我想要这样,因为当他们重新访问我的应用程序时,我会说“您已将3件产品标记为本月的最爱!”或者"显然你喜欢汉堡包(列出汉堡包类别22次)简而言之,当用户第一次访问我的网络应用时定义(或分配)唯一ID并将ID存储在客户端当用户第二次访问我的网络应用时检查客户端存储中是否有ID如果为真,则列出用户最近的事件;varuID="I

node.js - 使用 Mongoose 保存身份验证凭据时出现问题

我正在用Express和Mongo制作一个简单的Node.jsAPI,我会在晚些时候用React制作一个前端,但现在我只是添加模型,我遇到了问题(用'用户'模型)密码没有被存储。这是我的代码:constmongoose=require('mongoose');constcrypto=require('crypto');constUserSchema=newmongoose.Schema({name:{type:String,required:true},username:{type:String,required:true},email:{type:String,required:tr

node.js - mongoose.save() 有两种类型的行为

我正在学习mongoose,我正在发出一个简单的发布请求以将用户添加到我的mongolab测试数据库中。我使用的是基本用户模式,但是当我运行save()方法时,我有时会得到一个Unhandledpromiserejection(rejectionid:1):Error:dataandsaltargumentsrequired有时什么也没有发生,应用程序什么也不做。我正在使用Postman来测试发布请求。编辑:正如mikey所建议的,我删除了Resolve和Reject回调并处理了.save()回调中的所有内容,但现在我收到以下错误:(node:10964)DeprecationWarn