草庐IT

user_s_guide

全部标签

mongodb - 如何以编程方式使用MongoDB预拆分基于GUID的分片 key

假设我使用的是相当标准的32字符hexGUID,我已经确定,因为它是为我的用户随机生成的,所以它非常适合作为一个shard键,用于水平缩放我将要存储用户信息的MongoDB集合的写入(并且写入缩放为Y主要关注点)。我也知道我需要从至少4个碎片开始,因为流量预测和一些在测试环境中完成的基准测试工作。最后,我对我的初始数据大小(平均文档大小*初始用户数)有了一个很好的概念,大约为120GB。我想把最初的装载物做得很好和快速,并且尽可能多地利用所有4个碎片。如何预拆分此数据,以便在初始数据加载期间充分利用4个碎片并最小化碎片上需要执行的移动、拆分等操作? 最佳答案

node.js - MongoError : there are no users authenticated

我正在尝试使用mongodbNodeJS驱动程序-版本3.0.1我可以为数据库创建管理员用户,但不能创建普通用户。我总是收到MongoError:therearenousersauthenticated。浏览文档,验证用户身份的唯一方法是通过URL。我已经从指定路径彻底删除了数据库,试了多次,还是卡住了。这是我到目前为止所得到的,constMongoClient=require('mongodb').MongoClient;constformat=require('util').format;constconfig=require("./config.json");varadminUs

node.js - Mongoose 类型错误 : User is not a constructor

我正在尝试使用Mongoose和MongoDB将子文档添加到父架构,但是我被抛出以下错误:TypeError:Userisnotaconstructor这是基于Mongoose在subdocuments上的文档我认为一切都是一样的。我该如何进一步调试?路由器//AddadestinationtotheDBrouter.post('/add',function(req,res,next){letairport=req.body.destinationletmonth=req.body.monthletid=(req.user.id)User.findById(id,function(er

node.js - express-jwt 将用户对象设置为 req.user._doc 而不仅仅是 req.user?

我过去使用npm包express-jwt来轻松进行JWT签名、解码等。通常(和accordingtothedocs)它会拦截请求,使用用户对象有效负载解码token并设置req.user到该有效负载。然而,这一次它显示req.user看起来像这样:{'$__':{strictMode:true,getters:{},wasPopulated:false,activePaths:{paths:[Object],states:[Object],stateNames:[Object]},emitter:{domain:null,_events:{},_maxListeners:0}},isN

mongodb - MongoError : cannot infer query fields to set, 路径 'users' 匹配两次

我正在使用Mongoose。如果我不这样做,我想用数组users(包括userId1、userId2)创建一个文档chat找到它:我就是这样做的:ChatModel.findOneAndUpdate({users:{$all:[userId1,userId2]}},{$setOnInsert:{users:[userId1,userId2]}},{upsert:true}).exec().catch(err=>console.log(err));但我得到了错误:MongoError:cannotinferqueryfieldstoset,path'users'ismatchedtwic

javascript - 验证错误 : User validation failed at MongooseError. 验证错误

我正在尝试创建一个简单的node.js应用程序,使用mongoDb和express作为框架进行本地身份验证,但我遇到了问题每当我尝试使用注册表将数据提交到数据库时,单击提交后它会立即出现在Node终端中:这是我的用户架构的样子:varmongoose=require('mongoose');varbcrypt=require('bcrypt-nodejs');//definetheschemaforourusermodelvaruserSchema=mongoose.Schema({local:{name:String,username:String,mobile:Number,ema

mongodb - 操作方法 : User has fans

我需要用户能够成为其他用户的粉丝。我应该如何设计/设置它?我需要能够查看用户粉丝的详细信息。例如。我有用户:Foo。Foo有3个粉丝。我希望能够找到Foo粉丝的名字。因此:foo=User.firstfoo.name(returns'Foo')foo.fans.first.user.name(shouldreturn'bar',since'bar'isafanof'foo')这就是我目前的设置方式:Usermodel:embeds_many:fansreferences_many:fansFanmodel:embedded_in:user,:inverse_of=>:fansrefer

node.js - Mongoose 得到 `TypeError: user.save is not a function` - 怎么了

我正在尝试将用户数据发布到mongodb但出现错误:`TypeError:user.saveisnotafunction'-如何解决这个问题?这是我的代码:varexpress=require('express'),app=express(),bodyParser=require('body-parser'),mongoose=require('mongoose'),PORT=process.env.PORT||8080;//connecttodbmongoose.connect('mongodb://3gwebtrain:admsin@ds147975.mlab.com:47975/

MongoDB + Web 应用程序 : Database per user

我正在为个人项目评估MongoDB。我正在组建一个网站,允许用户在我的服务器上注册和存储信息。在评估MongoDB时,我看到它可以在第一次插入记录时动态创建数据库。这让我想到我可以将每个用户的数据分离到他们自己的数据库中。数据库名称将从用户的唯一ID派生。用户注册后,他们第一次存储信息时,他们的数据库将被创建。有谁知道这是否是MongoDB的可行设计?将所有用户的数据简单地存储在一个数据库中会更好吗? 最佳答案 是的,单个集合更好,这样您就可以利用索引来发挥自己的优势。遍历数据库或集合列表总是需要O(N)时间,而使用索引查找单个文档

mongodb - Mongodb ObjectIds 是 GUID 吗?

自动生成的BSONID存储在每个文档的_id字段中,它是GUID吗?文档说它“最有可能是独一无二的”,所以我有点困惑。为什么他们会使用不保证唯一的id? 最佳答案 它的唯一性是基于概率的。不像@mattexx答案:It'snot"guaranteed"tobeuniquebecauseMongoDBdoesnotenforceuniquenesstosavetime.MongoDB确实在ObjectId上强制执行唯一性,它实际上在_id字段上有一个唯一索引。在谈到节省时间时,ObjectId以这种方式具有历史意义,因为它是在Mong