公式Java API経由でMongoDBを使用しています。余計な労力をかけずにLong値を保存して検索することができます。しかし、これらの値をgroup()
関数を使って累積しようとすると、JavaScriptインタプリタはすべてをDoublesに変換し、最終的な結果はDoubleになります。ここでDouble in MongoDB group()関数の代わりに長いアキュムレータ
は、私のグループのコマンドです:
{
...
initial: { count: 0 },
reduce: "function (o, a) { a.count += o.count; }"
}
はcount
が実際に長いというインタプリタを伝える方法はありますか? count: 0L
やcount: Long(0)
のようなもの?または、私はJava側で蓄積を行うべきですか?
お返事ありがとうございます。残念ながら 'NumberLong'は動作しませんでした:" 'ReferenceError:NumberLong is defined'"それはMongoDBのドキュメント自体に言及しているので奇妙です:http://www.mongodb.org/display/DOCS/Data+Types+and+Conventions –
@EserAygün:グループの代わりにm/rを使用してみてください。 mongodbシェルを使用して、どこに問題があるのかを知ることができます。 –
ああ!バージョン1.2.2がインストールされていることが判明しました。それはおそらくそれがうまくいかなかった理由です。再度、感謝します! –