1

埋め込まれた投稿IDの数で説明順に並べ替えられたすべてのエンティティを返すクエリを作成するにはどうすればよいですか?

サンプルデータ:

{ "_id" : ObjectId( "5090f8061e7bf28095000012" ),
  "name" : "test",
  "post_ids" : 
    [ ObjectId( "5090f8061e7bf28095000010" ) ],
    [ ObjectId( "5090f8061e7bf28095000011" ) ] },
{ "_id" : ObjectId( "5090f8061e7bf28095000012" ),
  "name" : "test2",
  "post_ids" : [ 
    ObjectId( "5090f8061e7bf28095000010" ), 
    ObjectId( "509104ec1e7bf2989b00000b" ), 
    ObjectId( "509105001e7bf2989b00000f" ) ] }

#my actual query returns only count:
tags_by_count = Tag.desc(:post_ids).count
4

1 に答える 1

1

これはMongoDBでは不可能だと思います。私が読んでいることはすべて、配列の長さの2番目のフィールドを作成し、それにインデックスを付けることを示唆しています。

これは少し古いですが、それでも関連がある可能性があります。

https://groups.google.com/forum/?fromgroups=#!topic/mongodb-user/zSSnj6ldfLE

また、可能であっても、配列の長さをインデックスに登録できないため、インデックスの並べ替えの代わりにjavascriptを使用する必要があるため、処理が遅くなります。

于 2012-10-31T18:06:47.713 に答える