草庐IT

id_colour

全部标签

c# - Mongodb c# 驱动程序-将 Id 复制到插入时的另一个字段

我正在使用.Net-用于monngodb的mongodbc#驱动程序。插入文档时,我想将生成的[BsonId]ObjectIdId字段复制到文档中的另一个字段(复制值)我可以运行Insert,这将生成key,然后运行更新以将key复制到另一个字段,但这将使数据库在(短暂的)一段时间内处于“软”状态。是否可以“自动”执行此操作,还是我使用的mongodb有误? 最佳答案 如果您希望更新是原子的,您就不能真正做到这一点。我建议您不要让驱动程序设置Id,只需使用ObjectId.GenerateNewId自己创建和设置它,然后在将文档插入

node.js - 在 Mongodb 中使用自定义 ID 的效率成本是多少

我计划使用thisNPMpackage(shortid)生成较短的ID,主要用于URL,我希望按照指示将它们用作Mongodbid(至少对于某些集合)。使用自定义ID的相关费用是多少?它会以任何显着方式影响查找时间、写入时间等吗? 最佳答案 这些类型的问题很快就会陷入意见之争,因此我认为提供一些优缺点并让您决定哪个更适合此应用程序更有意义,而不是陈述意见。假设“shortid”的格式将存储为一个字符串,我认为AbigailWatson的回应到similarquestiononGoogleGroups总结了一些较大的点。她的回答主要针

javascript - 通过 id 和当前用户限制从数组中删除子文档

我有一个包含如下对象的Messages集合:{"_id":...,"author":123,"body":"merp","comments":[{"_id":...,"author":234,"body":"Butwhataboutmorp?"},{"_id":...,"author":123,"body":"You'reoutofyourelement,Donnie!"}]}我在添加它们时自己创建了那些comment._id。无论如何,一切正常,我发现了如何从评论数组等中添加和删除内容。除了删除评论时,我想先检查author是否是当前用户。在Meteor中,通常您将对象ID传递给Me

javascript - Node.js 通过 ID 从 mongoDB 中查找结果

我是Node.js的新手,如果这是一个非常愚蠢的问题,我很抱歉,但是我尝试了我找不到答案。我有一些简单的代码:varexpress=require("express");varmongoose=require("mongoose");varcors=require("cors");mongoose.connect('mongodb://localhost/simple')varpersonSchema={firstName:String,lastName:String,email:String}varPerson=mongoose.model('Person',personSchema

node.js - node js mongoose从文档数组中的id中删除a

我有两个引用集合,两个集合在一起。其中一个集合是用户,另一个集合是项目。因此,用户可以将项目添加到项目集合中,然后称为主管的用户类型之一可以将员工添加到项目中,并将项目ID保存到用户集合中,该用户集合引用项目集合中的员工文档。所以实际上我需要做的是当管理员从用户集合中删除主管时,它会删除由主管用户的id创建的所有项目,这些项目等于从用户集合中删除的addedBy文档。所以我的问题是,当我执行此过程时,我需要删除所有项目ID等于用户集合projectId。这是一个数组,我多次尝试这样做,但找不到解决方案。我将提供所有源代码。我为这个项目创建的。用户集合constuserSchema=ne

mongodb - _id 上的重复文档(在 mongo 中)

我有一个分片的mongo集合,其中包含超过150万个文档。我使用_id列作为分片键,该列中的值是整数(而不是ObjectId)。我使用Perl驱动程序(插入、更新、删除、保存)和mongoimport对此集合进行了大量写入操作。我的问题是,不知何故,我在同一个_id上有重复的文档。根据我的阅读,这应该是不可能的。我已经删除了重复项,但其他人仍然出现。您是否知道它们从何而来,或者我应该从什么着手?(另外,我试图在一个较小的测试集合上复制它,但无论我执行什么写操作,都没有插入重复项)。 最佳答案 这实际上不是Perl驱动程序的问题..它

mongodb - 使用官方身份证 ID 或从 MongoDB 生成的 ID 来识别用户?

我正在为一个简单的MongoDB数据库设计架构,其中将为客户提供一个集合。识别客户的自然方式是使用他们的官方身份证ID(6个数字和一个字母,对于每个国家/地区的每个人都是唯一的)。另一种方法是让MongoDB选择_id字段值并将卡ID用作另一个字段。关于选择一个包含6个数字和一个字母的字符串作为_id,或者选择由Mongo创建的ObjectId的优点/缺点有什么建议吗? 最佳答案 呃,这是旧的“surrogatekey与非代理(自然)键”的讨论。这是一场有点激烈的war......我认为代理键(即ObjectIds)是可行的方法。对

node.js - 在 Mongoose 中通过给定的 _id 从数组中删除对象

在Mongoose模型中,用户给定的文档如下所示:>db.users.find().pretty(){/*...*/"events":[{"_id":ObjectId("537bb2faf87f9a552c3219ea"),"message":"Foo"},{"_id":ObjectId("537bb436c3b9a1aa2db71b7c"),"message":"Bar"},{"_id":ObjectId("537bb4ab2cc503e52e24d145"),"message":"Biz"},{"_id":ObjectId("537bb4d02cc503e52e24d146"),"

c# - mongo C# 通过id删除多条记录

我正在尝试在mongo中创建一个deleteAll方法,我可以一次性删除多条记录,但要为该方法提供要删除的对象ID列表,如下所示protectedvirtualDeleteResultDeleteAll(ListlistId,WriteConcernconcern=null){returnMongoCollection.DeleteManyAsync(ItemWithListOfId(listId)).Result;}protectedFilterDefinitionItemWithListOfId(Listid){returnBuilders.Filter.Eq("_id",id);

MongoDb 将 $group '_id' 空值聚合为不同的

我有以下数据结构:{"_superBill":{"$oid":"568b250ba082dfc752b20021"},"paymentProviderTxID":"aaaa","transactionRaw":"abcdef","commissionRate":0.2,"visitDate":{"$date":"2016-12-26T13:04:05.544Z"}},{"_superBill":{"$oid":"568b250ba082dfc752b20021"},"paymentProviderTxID":"bbbb","transactionRaw":"abcdef","commi