草庐IT

mongodb.driver

全部标签

mongodb - 为什么添加索引会降低性能?

我正在评估以下查询的性能。db.products_old.find({regularPrice:{$lte:200}})该集合有超过一百万个文档,总共约0.15GB。无索引这是预料之中的。必须进行全列扫描"executionTimeMillis":1019,"winningPlan":{"stage":"COLLSCAN","filter":{"regularPrice":{"$lte":200}},"direction":"forward"},索引{regularPrice:1}"executionTimeMillis":2842,"winningPlan":{"stage":"FE

node.js - MongoDB watch() 使用 NodeJS 和 Mongoose 观察数据库中的变化

我正在尝试查看我的mongodb。每当发生变化时,我都想应用一个Action。这是我试过的varmongoose=require('mongoose');//mongoose.connect('mongodb://localhost/test');mongoose.Promise=global.Promisemongoose.connect('mongodb://localhost:27017')mongoose.connection.createCollection('people');constPerson=mongoose.model('Person',newmongoose.S

mongodb - 多组 - 对数组内的每个值进行平均,而不会与另一个文档重复

为了更好地理解,我添加了三个JSON示例数据:{"_id":ObjectId("5b961bdfd6588fed3fd8e2a9"),"claim":ObjectId("5b927bd9c725181a3dc9107e"),"user":ObjectId("5b869a5d0d56de9d788edb7e"),"comprisedPhrase":[{"phrase":"ABC","like":1,"dislike":0},{"phrase":"DEF","like":0,"dislike":1},{"phrase":"GHI","like":1,"dislike":0}],},{"_i

node.js - MongoDB 聚合管道查询

我在node.js8.11.1上使用mongoDB3.6,并使用MongoDBNode.js驱动程序。我有两个集合,“组”和“用户”:group:[{"_id":1,"groupName":"group1","users":[{"userId":1,"isAdmin":"false"},{"userId":2,"isAdmin":"true"}]},{"_id":2,"groupName":"group2","users":[{"userId":2,"isAdmin":"false"},{"userId":3,"isAdmin":"true"}]}]user:[{"_id":1,"us

node.js - 如何使用 React 从 Mongodb 集合中查询单个文档

我正在尝试构建一个带有反应前端和Node后端的搜索栏,这将使我能够从mongoDB集合中搜索客户ID,然后从集合中提取单个文档中的所有数据并显示它在我的react应用程序上。目前,如果可能的话,我只是想让单个文档位起作用。目前,它拉下了整个系列。我当前的Node代码:搜索路由器constexpress=require('express');constapp=express();consttfiPaintCodesRouter=express.Router();constPaintInfoSchema=require('../models/PaintInfoSchema.js');tfi

mongodb - MongoDB 模型上的重复键错误,即使模型没有为该值强制执行唯一性

在我的应用程序中,我有一个端点,允许用户通过简单地传递如下内容来创建新文档:{name:{long:"somename"}}现在,本文档模型的相关部分如下所示:name:{long:{type:String,trim:true},short:{type:String,trim:true}}如您所见,我没有将“short”设置为“unique:true”。但是,用户收到此错误:"errmsg":"E11000duplicatekeyerrorcollection:hr.agenciesindex:name.short_1dupkey:{:null}"所以,这里的问题显然是,一旦您有多个值

node.js - AJAX > MongoDB 查询只工作了五次,然后服务器停止处理请求,我无法刷新页面

我正在构建一个React/Express/MongoDB应用程序。我正在尝试进行实时搜索,在您键入时返回结果。服务器上的数据库调用只工作了五次,然后就停止了。然后我无法刷新浏览器,所以我认为此时服务器停止处理请求。我是否阻塞了Node的事件循环?当我停止服务器时,所有未答复的响应都显示在浏览器控制台中:POSThttp://localhost:3000/action/searchTextIndexnet::ERR_EMPTY_RESPONSEPOSThttp://localhost:3000/action/searchTextIndexnet::ERR_EMPTY_RESPONSEPO

mongodb - $在 mongodb 中查找多个级别

我是mongodb的新手,我使用mongoosepopulate编写了查询。this.model.findById({_id:req.params.id}).populate('potentialLevels','descriptionresultplIndex').populate({path:'categories',select:'name',populate:{path:'tasks',model:'Task',select:'-createdAt-updateAt-start-end-userEstEnd',populate:[{path:'potentialLevelId'

node.js - MongoDB:在下一阶段使用从聚合管道返回的数组进行 $in 查询

正如问题标题所说,我正在尝试使用从$match阶段返回的数组字段来查询下一阶段中的另一个集合,使用$lookup和$in运算符检索至少具有一个类别的所有文档在这个数组里面。(顺便说一句,我在Node中使用Mongoose)我想通过“_id”匹配具有此简化模式的“配置”集合:{title:{type:String,required:true},categories:{allow:{type:Boolean,required:true},list:[{name:{type:String,required:true},//DENORMALIZEDCATEGORYNAME_id:{type:m

mongodb - 使用 MongoDB/Mongoose 对多个文档进行 Uspert

假设我有一个模型列表:constdocuments=[{},{},{}];我想将它们插入到数据库中,或者全部更新它们,但前提是满足条件:Model.update({isSubscribed:{$ne:false}},documents,{upsert:true},(err,result)=>{});上面的签名肯定是错误的——我想做的是在满足条件的情况下插入/更新文档。有这个批量API:https://docs.mongodb.com/manual/reference/method/Bulk.find.upsert/但我不知道它在插入多个文档时是否有效。 最佳