草庐IT

mongodb-cluster

全部标签

mongodb - 在 MongoDB 中插入时如何检查引用?

假设我有用户和角色。每个用户都属于一个角色。我想像这样设计数据库:收藏用户:{"name":"user1""role":"admin"}集合角色:{"name":"admin""privileges":[]}{"name":"user""privileges":[]}稍后我可以为任何角色添加更多角色或编辑权限。我的问题是:当我插入一个新用户时,如何检查“角色”字段是否具有有效值(这意味着角色集合中有匹配文档)?我应该在应用程序中检查此引用吗?有没有办法在mongodb服务器端这样做?假设编辑权限是一项频繁的操作。 最佳答案 我认为您

javascript - MongoDB 中 reduce 函数中的奇怪数值错误

我正在mongo中试验map-reduce,遇到了一个让我完全难过的数值问题。给定以下map和reduce函数:varmap=function(){key="awesome";emit(key,{count:1})}varreduce=function(key,values){varresult={count:0};values.forEach(function(value){result.count+=value.count;});result.countBy2=result.count/2//result.count=result.count/2returnresult}给出逻辑"

node.js - 如何将几个变量从 mongodb 查询传递到 jade tpl

//postsvardocs,cats;vardb=req.db;varcatcollection=db.get('catcollection');varpostcollection=db.get('postcollection');//findallpostpostcollection.find({},{},function(e,docs){console.log('posts--->'+util.inspect(docs));});//endfindallpostcatcollection.find({},{},function(e,catss){cats=catss;consol

MongoDB 按内部数组中指定对象的总和排序

我有一些文件,例如:{"_id":1,"inner_array":[{"object_value":1,},{"object_value":2,},{"object_value":1,},]}{"_id":2,"inner_array":[{"object_value":1,},{"object_value":1,},{"object_value":1,},]}在第一个文档中,“inner_array”中有两个对象,“object_value”为1。现在我想根据“inner_array”中“object_value”为1的对象总数对文档进行排序。因此上面的例子,第一个文档的排序键是2,

java - spring-data-mongodb 没有正确映射整数值

spring-data-mongodb1.7.2.RELEASE自动将整数保存为double是mongodb。文档到对象的映射是可以的。但是当我将文档读取为java.util.Map时,所有整数值都变成了double值:(是否有可能使spring-data-mongodb将整数保存为Integer(X)而不是mongodb中的double。是错误吗?像这样:@DocumentpublicclassFoo{privateIntegercount;...}fooRepository.save(fooInstance);在mongodb文档中,字段'count'保存为double而不是Num

mongodb - 使用 MongoDB 查询用户相关排行榜

这个问题在这里已经有了答案:rankleaderboardinmongowithsurroundingplayers(1个回答)关闭3年前。我有一组用户,每个用户都有一个点属性(见下面的架构)。我的最终目标是根据特定用户位置返回经过排序的有限文档数组,或者换句话说,返回与特定用户位置相关的排行榜的一小部分。目前我查询并排序所有用户,在返回的数组中找到我想要的用户并根据该数组对数组进行切片。我想知道是否有一个查询可以避免我返回所有用户。示例用户架构:/*1*/{"_id":ObjectId("..."),"points":5852,"key":"user1"}/*2*/{"_id":Ob

mongodb - 什么样的 MongoDB 查询在数组中多次找到相同的值?

假设我在MongoDB中有这样的文档{"mylist":[{"value":1},{"value":2},{"value":3}]},{"mylist":[{"value":1},{"value":2},{"value":1}]}如何查询列表中多次包含{"value":1}(即后者)的文档? 最佳答案 可能最好通过使用$where的JavaScript评估来处理:db.colletion.find({"$where":function(){returnthis.mylist.filter(function(el){returnel.

javascript - 在带有填充嵌套数组的 mongoDB 文档中查找并构建新的结果对象

我有一些具有这种结构的文档——类别字段也可以为空{"_id":"1","category":[{"target":"element1"},{"target":"element2"}]},{"_id":"2","category":[{}]},{"_id":"3","category":[{"target":"element1"},{"target":"element2"}]},我需要的是这样的结果{id:1,element:"element1"},{id:1,element:"element2"},{id:3,element:"element1"},{id:3,element:"ele

mongodb - 如何获取 mongo 中同一字段的唯一值列表?

我有这样的数据集{name:john,age:20,....}{name:sally,age:40...}{name:sally,age:50...}我可以发出什么mongo查询来取回“名称”的每个唯一值。所以简单地说,它会返回'john'和'sally' 最佳答案 获取“名称”的每个唯一值的最简单方法是使用distinct()集合上的方法,它将查询单个集合中指定字段的不同值,并在数组中返回结果。因此将其用作vardistinctNames=db.collection.distinct("name");printjson(disti

spring - 在 Spring Mongodb 中过滤搜索查询

在提要集合中,“likeCount”和“commentCount”是两列。我想获取“likeCount”+“commentCount”大于100的所有文档。如何在SpringMongoDB中编写搜索过滤器查询?下面是我的示例提要收集数据。{"_id":ObjectId("55deb33dcb9be727e8356289"),"channelName":"Facebook","likeCount":2,"commentCount":10,}为了比较单个字段,我们可以编写如下搜索查询:BasicDBObjectsearchFilter=newBasicDBObject();searchFi