2011-09-17 11 views
2

可能性の重複:
Querying internal array size in MongoDBmongoに埋め込み配列のサイズを取得する方法は?

私は配列categoryを含むドキュメントを持っています。ただ、どれくらい多くのアイテムがあるかを知りたいのですが、categoryです。私がドキュメントで見つけることができるのは、トップレベルのドキュメントの数を数える方法です。

{ 
"_id": { 
    "$oid": "4e73a30466ca1a1f56000001" 
    }, 
"category": [ 
    "Food", 
    "Entertainment" 
    ] 
} 

答えて

2

コレクションcallendのmycollectionにおける単一の例の要素を見つけるには:ARRYカテゴリ内の要素の数を取得するには

db.mycollection.find().limit(1)[0]; 

を:

db.mycollection.find().limit(1)[0].category.length; 

または:

var elem = db.mycollection.find().limit(1)[0]; 
elem.category.length; 
+1

それは私がローカルにカウントする配列を返しませんか?何とかmongodbの 'count()'メソッドを使い、オブジェクト全体をフェッチせずにデータベースをカウントしてローカルに数えるだけでいいのではないでしょうか? – lms

+0

さて、私は実際の答えの周りに多くのものを追加して完成させました。したがって、あなたの質問に対する簡単な答えは 'elem.category.length;'のみです。 – Dag

3

新しいフィールドをhに追加するカテゴリサイズ。それはmongoの世界での通常の習慣です。

関連する問題