小编ass*_*z84的帖子

嵌入式文档中的mongo db索引

我有一个域对象模型如下...

@document
Profile
{
     **social profile list:**
      SocialProfile
      {     
          **Interest list:**
          {
           Interest
            {
                 id
                 type
                 value
            }
            ...
       }
       ...
}
Run Code Online (Sandbox Code Playgroud)

每个简档可以具有许多社交简档,在每个社交简档中,通过特定社交简档(社交简档表示像Facebook这样的社交网络)有许多与简档相关的兴趣,每个兴趣也是具有字段id,类型,值的嵌入文档.

所以我有两个问题..我可以在嵌入式文档中单独索引几个字段吗?我可以在嵌入式文档中创建复合索引吗?

我想我的模型的复杂性是嵌入式文档的深层次,它是2 ..并且该文档的路径是通过数组......

可以通过元数据注释以spring方式完成吗?如果您认为我的模型有误,请告诉我我是mongo的新手谢谢

arrays indexing spring mongodb mongodb-indexes

5
推荐指数
1
解决办法
7972
查看次数

MongoDB复合索引用法

假设我有以下两个键的文档:

1)key1
2)key2

如果我在他们两个上创建复合索引..

{'key1':1,'key2':1}
Run Code Online (Sandbox Code Playgroud)

运行仅与key1相关的查询时,是否使用上面的索引?或者我还需要为key1创建特定的索引?

谢谢

indexing mongodb compound-index

5
推荐指数
2
解决办法
693
查看次数

Mongo DB聚合框架计算avg文​​档

我有问题收集每个配置文件可以有很多问题.

{"_id":"..." , "pid":"...",.....}
Run Code Online (Sandbox Code Playgroud)

使用mongo DB新聚合框架如何计算每个配置文件的平均问题数量?

尝试了以下没有成功:

{ "aggregate" : "question" , "pipeline" : [ { "$group" : { "_id" : "$pid" , "qCount" : { "$sum"    : 1}}} , { "$group" : { "qavg" : { "$avg" : "qCount"} , "_id" :  null }}]}
Run Code Online (Sandbox Code Playgroud)

只能由一个集团运营商完成吗?

谢谢.

mongodb aggregation-framework

4
推荐指数
1
解决办法
3032
查看次数

Mongo复合索引,地理位置不起作用

我正在努力做一些应该是微不足道的事情....
我有以下个人档案文件结构:

 {
   pid:"profileId",
   loc : {
       "lat" : 32.082156661684621,
       "lon" : 34.813229013156551,
       "locTime" : NumberLong(0)
         }
   age:29
 }
Run Code Online (Sandbox Code Playgroud)

我的应用中常见的用例是检索按年龄过滤的附近配置文件.

   { "loc" : { "$near" : [ 32.08290052711715 , 34.80888522811172] , "$maxDistance" :    179.98560115190784}, "age" : { "$gte" : 0 , "$lte" : 33}}
Run Code Online (Sandbox Code Playgroud)

所以我创建了以下复合索引:

  { 'loc':2d , age:1}
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我都无法使用创建的索引运行查询(也尝试使用提示)
这是查询的生成解释:

  { 
  "cursor" : "GeoSearchCursor" , 
  "isMultiKey" : false , 
  "n" : 4 , 
  "nscannedObjects" : 4 , 
  "nscanned" : 4 , 
  "nscannedObjectsAllPlans" : 4 , 
  "nscannedAllPlans" : 4 , …
Run Code Online (Sandbox Code Playgroud)

indexing geolocation mongodb compound-index

2
推荐指数
1
解决办法
1078
查看次数

按聚合排序的密码顺序

我需要在查询期间聚合数据,然后按此数据排序。

根据密码文档:

如果要使用聚合对结果集进行排序,则必须将聚合包含在要在 ORDER BY 中使用的 RETURN 中。

我有以下密码查询:

START profile=node(31) MATCH (profile)-[r:ROLE]->(story)
WHERE r.role="LEADER" and story.status="PRIVATE" 
WITH story MATCH (story)<-[r?:RATED]-() 
RETURN distinct story ,sum(r.rate) as rate ORDER BY rate DESCENDING
Run Code Online (Sandbox Code Playgroud)

上面的查询工作正常,问题是我必须在我的结果集中包含sum(r.rate)

当查询响应应该是故事列表/页面时,我通过存储库使用Cypherdsl(我的存储库扩展了 CypherDslRepository )...

我可以使用按聚合函数排序而不将其包含在结果集中吗?
有什么解决方法吗?

谢谢。

sql-order-by aggregate-functions neo4j cypher

1
推荐指数
1
解决办法
626
查看次数

Mongodb Aggregation框架组和排序

我有以下文件结构......

{
  "id":"documentID"
  "sessionId":"sometext"
  "msg":"sometext"
  "time":"date"
}
Run Code Online (Sandbox Code Playgroud)
  • sessionId可以存在于许多文档中

我想聚合文档sessionId,每个会话的结果应该包含与按时间排序的会话相关的消息集.

使用MongoDB聚合框架我该如何实现?

我试图先排序然后分组,但每个会话中的消息由于某种原因没有排序:

{ $sort: { "time": 1 } },
{ "$group" : { 
    "_id" : "$sessionId", 
    "msgs" : { "$addToSet" : "$msg" }
} }
Run Code Online (Sandbox Code Playgroud)

有什么建议?你的回答非常感谢.

sorting mongodb aggregation-framework

1
推荐指数
1
解决办法
5873
查看次数