問題タブ [bson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
615 参照

mongodb - MongoDBに挿入するには:BSONに変換されたドキュメントのサイズは変更されますか?

わかりました。私はMongoDBを初めて使用し、MongoDBに関する本を読んでいます。

「4MBを超えるドキュメント(BSONに変換した場合)はデータベースに保存できません」

わかりました...ドキュメントの上限は4MBですか?私を混乱させたのは、彼らが括弧内に言っていることです:( BSONに変換されたとき):それで、BSONに変換されたときにサイズが変更されますか?

数行後にそれが言っているので:

「4MBの大きさを知るために、戦争と平和の全文はわずか3.14MBです。」

何?さて、私は混乱しています。助けて!

0 投票する
1 に答える
326 参照

ruby-on-rails - Time タイプの保存時に mongo_mapper_acts_as_versioned が失敗する

フォークしたhttps://github.com/Bramanga/mongo_mapper_acts_as_versioned gem を使用して、mongomapper モデルにバージョン管理を設定しようとしています。ただし、Finding モデルを保存しようとするたびに、Time タイプで保存しようとすると失敗します (MongoDB は日付ではなく utc 時間のみをサポートするため、これを使用する必要があります)。

モデル:

端末出力:

開発環境のロード (Rails 3.0.10)

1 pry(メイン)> 検索 = Client.first.findings.build

=> <#Finding _id: BSON::ObjectId('4fc67c8f4e484f267c000002'), client_id: BSON::ObjectId('4f7119884e484f25bd005ee8'), custom_fields: {}, legacy_attachments: [], タグ: []>

[2] pry(メイン) > 発見.保存

=>真

[3] pry(メイン)> find.found_date = "12/24/2012"

=>「2012/12/24」

[4] 詮索(メイン) > 発見.保存

BSON::InvalidDocument: ActiveSupport::TimeWithZone は現在サポートされていません。代わりに UTC Time インスタンスを使用してください。from /home/bramanga/.rvm/gems/ruby-1.9.2-p290@actionlog/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize'

これを修正する方法がわかりません。多分私はそれを間違っているだけです。何か案は?

0 投票する
1 に答える
440 参照

visual-c++ - バイナリ データの BSON

char* bufferバイナリ データ (画像ファイルから読み取ったもの) を BSON 形式にする方法を教えてください。私はvc ++で試しています。

0 投票する
1 に答える
477 参照

c# - 表現=BsonType.Int64はDatetimeでは正しく機能しません

クラス内のDateTimeプロパティの1つをRepresentation=BsonType.Int64属性で装飾して、日付のInt64表現でデータベースに格納されるようにします。

そのプロパティを通常のC#日時として保存し、値を何にも設定しなかった場合、データベースにDateTime.Minが保存されます。databseからの読み取りと、次のようなQuery.LT操作を行っていたので、これは完璧です。

そして、それはすべての値をうまく返すために使用されました。

これで、BsonType.Int64として保存を開始し、BsonType.Int64のDateTime.Minに相当するものは「0」です。my Query.LT( "MyField"、DateTime.Now)); DateTime.Minで保存されているすべての日付で失敗します。

これを解決する方法について何かアイデアはありますか?

0 投票する
1 に答える
3808 参照

mysql - BSON ObjectId 値を SQL データベースに格納する効率的な方法を見つけた人はいますか?

一部のデータを MySQL から Mongo に移行しており、移行されたデータ オブジェクトのObjectId値のために、いくつかの DB テーブルに追加のフィールドを追加しています。

現時点では、正常に動作する varchar(24) latin1_general_ci として保存しています。

ただし、効率的なストレージ/インデックス作成のために、おそらく 12 バイトのバイナリ値に戻す必要があります。残念ながら、MySQL は 8 バイトまでのネイティブの整数しかサポートしていないようです。別のオプションはありますか - おそらくバイナリですか?

更新: MySQL から移行していますが、現時点では特定のテーブルのみです。そのため、最初に特定のテーブルの Mongo でオブジェクトの複製を作成します。次に、古い MySQL テーブル ID への外部キー参照を持つ MySQL に残っている他のテーブルに戻り、Mongo オブジェクトの ID を格納する新しい参照フィールドを追加します。次に、元の参照フィールド BIGINT を削除します。

更新 2:これを取り上げる理由は、この他のデータを移動するまでに 12 か月以上かかる可能性があるため (または移動しない可能性があるため)、それまではライブ Web アプリケーションのパフォーマンスに影響を与える可能性があるためです。

0 投票する
1 に答える
701 参照

mongodb - ASCII文字列をバイトに変換することでMongodbインデックスのスペースを節約できますか?

キーフィールドとして言語コードを持つオブジェクトがたくさんあります。JavaとMongodbはどちらもUTF-8をネイティブに使用し、言語コードはASCIIであるため、文字ごとに1バイトと\0ターミネータを使用する必要があるようです。したがって、言語コード「en」は、BSONオブジェクトとインデックスで3バイトしか使用しない必要があります。

これは正しいです?フィールドを次のようなバイト配列に変換して何かを保存するかどうか疑問に思っています。

JavaドライバーでMongodbに保存する前に?

0 投票する
1 に答える
451 参照

javascript - Mongo DB シェル、コレクション内の重複エントリをカウントする方法

Mongo DB シェル (JS ファイルを使用して実行):

「検索」コマンドを実行した後、結果に重複する行がいくつあるかを調べる必要があります。コレクションにはさまざまな JSON を含めることができるため、比較のために各 JSON オブジェクトを解析する必要があります。

要するに、bson オブジェクトからキーを列挙するにはどうすればよいですか?

たとえば、次の 4 つの JSON エントリを見ると:

比較中に「_id」と「Date」キーを無視したい。「_id」はmongo固有であるため無視し、「Date」は私の要件であるため無視します。

そして、キー自体は非常に多様です。JSON ドキュメントごとにキー名が異なり、キーと値のペアの数も異なります。

上記の場合、「1」と「3」を同一(重複)として認識させたい。

どうすればいいですか?

bson オブジェクトからキーを列挙するにはどうすればよいですか?

0 投票する
1 に答える
195 参照

python - django-nonrel で MongoDB BSON 要素名をモデル属性に指定

C# では、MongoDB ドライバーを使用して、データ モデルの各属性にカスタムの BSONElement 名を定義し、保存されている名前を短縮することができます。

django-nonrel セットアップと次のように定義されたモデルでこれを達成する方法はありますか

属性「Current」が「c」として格納され、コードで「Current」として参照されるようにするには? この研究はあまりうまくいきませんでした。

0 投票する
4 に答える
26136 参照

mongodb - メッセージ アプリの MongoDB 構造

メッセージ アプリを処理するための適切なドキュメント構造について考えています。

基本的に、次の 3 種類 (または 4 種類) のオブジェクトが必要です。

  1. ユーザー (ユーザー名、電子メール、パスワードなど)
  2. 連絡先リスト (さまざまな連絡先または連絡先グループを含む)
  3. The conversation (会話とは、何人かの人々の間のメッセージの集まりです)
  4. メッセージ (メッセージ本文、タイムスタンプ、および作成者が含まれます。)

私のアイデアは、連絡先をユーザー ドキュメントに埋め込み、メッセージを会話ドキュメントに埋め込むことでした。

1. ユーザー

2.会話

このスキーマについてどう思いますか?

ドキュメントごとに更新頻度が異なるため、それらを別々に保持する方がよいと思います(したがって、各ドキュメントは独自のものになります)。しかし、私は実際にそれについての経験がないので、アドバイスを聞くのは良いことです:)

よろしく

0 投票する
1 に答える
454 参照

mongodb - Haskell、mongodb、date

haskellからmongodbに日付を挿入または自動挿入するにはどうすればよいですか?mongoの日付型からhaskellのデータ型に変換する最良の方法は何ですか?

たとえば、ブログ投稿レコード(haskell Webフレームワーク)を挿入し、すべてのレコードに自動的に日付スタンプを付けたい場合です。どうすればいいですか?問題は、haskellドライバー内からの型変換とmongodb日付型の作成に関するものです。