草庐IT

Node-Express

全部标签

node.js - 如何知道 mongodb 查询有多少个匹配项

在我的项目中,我有一个搜索栏,用户可以在其中搜索其他用户。我使用MongoDB作为我的数据库引擎,并使用nodeJS上的mongoose作为我的服务器,到目前为止一切正常,除了一件事,我想按相关性对结果进行排序。假设我有这个收藏{"nombre":"Ramiro","apellido":"Garcilazo","empresa":"PEMEX","tamano":"Grande(250+)","sector":"Servicios","giro":"SustanciasQuímicas","actividad":"Ventadepetroquimicos","estado":"Jali

node.js - 使用 mongoose 在 mongodb 上执行 mapreduce 时不能在 reduce 函数中使用 underscore.js

我有一个电影收藏,每部电影都有几颗星星,例如:{movie:"Pride&Prejudice",starList:["KeiraKnightley","MatthewMacfadyen"]}{movie:"BeginAgain",starList:["KeiraKnightley","MarkRuffalo"]}我想得到一个倒排索引,每个明星都有几部电影{明星:“凯拉奈特莉”,movieList:[《傲慢与偏见》、《重新开始》]}这可以通过在mongodb上使用mapreduce来完成。我将nodejs与mongoose驱动程序一起使用。以下是代码:var_=require("unde

node.js - MongoDB Node Driver updateMany 按 ID 过滤

我在Node.JS中遇到MongoDB驱动程序问题。当尝试通过ID更新多个用户时,MongoDB返回错误:{"name":"MongoError","message":"Argumentmustbeastring"}当省略新ObjectId对象的数组并使用普通的ID字符串时,它不会返回任何错误,但标识符也不会被推送到实例数组。userIdArray=userIdArray.map(id=>newObjectId(id));this.collection.updateMany({_id:{$in:userIdArray}},{$push:{instances:identifier}})当

node.js - Mongo +检查存在的多个字段

我正在使用mongo和nodejs。我有数组列表:varcheckFields=["field1","field2","field3"];我尝试获取具有数组列表字段且用户字段等于admin的记录数。示例数据:[{"checkFields":{"field1":"00124b3a5c31","user":"admin"}},{"checkFields":{"field2":"00124b3a5c31","user":"admin"}},{"checkFields":{"field1":"00124b3a5c31","user":"regular"}}]查询:db.collection_n

javascript - Node 的 Mongodb findOne 函数不返回几何数据

我在尝试让mongo正确返回几何数据时遇到了一些问题。当我直接在mongoshell中运行db.shapes_houses.findOne({'properties.IDENTIFCAT':'0373100000004063'}函数时,我得到了我需要的正确结果:{"_id":ObjectId("576bfc6d669adc5c2556676b"),"type":"Feature","properties":{"IDENTIFCAT":"0373100000004063","VOETPRINT":62.423811},"geometry":{"type":"Polygon","coord

node.js - 在 Node.js 中从 MongoDB 获取数据时出错

我正在尝试从MongoDB获取数据,每次数据库连接都正常,没有任何错误。但是当我尝试获取数据时,出现以下错误:{[MongoError:connection5toc1669.candidate.18.mongolayer.com:11669timedout]name:'MongoError',message:'connection5toc1669.candidate.18.mongolayer.com:11669timedout'}但前10到11次尝试都很好,并且从mongo获得了预期的数据,后来我不断地引入上述错误。更多信息:使用mongodbnpmmodule.

node.js - 在 Mongoose 模式中指定继承的通用模型

我正在使用Mongoose构建应用程序并希望能够执行以下操作:1)模型Frid​​ge包含一个groceries字段,它是一个数组:varFridge=mongoose.Schema({groceries:{type:[Grocery.schema]}});2)Grocery模型是一个通用模型,可以被其他模型继承:vargrocerySchema=mongoose.Schema({name:{type:String}});varGrocery=mongoose.model("Grocery",grocerySchema);3)例如,西红柿是杂货店:vartomatoSchema=mon

node.js - 如何用 Mongoose 排除数组类型字段

我有这样的架构:varCitySchema=newSchema({name:{type:String,required:true},region:{type:Schema.Types.ObjectId,ref:'Region',required:true},images:[{type:Schema.Types.ObjectId,ref:'Image',select:false}]});当我对集合进行查询时,即使我放置了select:false,字段图像仍会显示。如何在不使用.select('-images')的情况下隐藏字段? 最佳答案

node.js - 如何强制for循环等待回调在nodejs中完成?

entry.find(function(err,user){for(vari=0;i所以我在这里要做的是等待每个for循环完成,然后再调用异步可分配函数。Assigntable是对数据库进行更改的回调。我现在遇到的问题是,由于在for循环完成后调用了assigntable的回调,所有用户都将被分配到表1。但我想要的是:将第一个分配给表1->在下一个循环中分配表检测到表1已分配->用户2分配给表2,依此类推。我该怎么做?编辑:Assgintable是一个递归调用,它在回调中编辑数据库。更新将基于上一个循环生成的数据库的结果,但我在这里不相关。functionassigntable(use

node.js - Mongoose 从多个可能的集合中填充 ObjectID

我有一个看起来像这样的Mongoose模型varLogSchema=newSchema({item:{type:ObjectId,ref:'article',index:true,},});但是“item”可以从多个集合中引用。有可能做这样的事情吗?varLogSchema=newSchema({item:{type:ObjectId,ref:['article','image'],index:true,},});'item'的想法可以是来自'article'集合或'image'集合的文档。这是可能的还是我需要手动填充? 最佳答案