問題タブ [minimongo]
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.
mongodb - 配列を含むドキュメントを更新しようとすると Minimongo エラーが発生する
angular-meteor を使用してドキュメントに含まれる配列を更新する際に問題が発生しています。Minimongo はエラーをスローしますdocumentMatches needs a document
。
更新時にこのエラーをスローするドキュメントを以下に示します。含まれているものの 1 つは、_id
s の配列です。この配列には、特定のドキュメントの表示順序が含まれています。次のようになります。
$scope.meteorObject
という変数にこれを使用して添付しました$scope.settings
。この配列からアイテムを削除してから保存すると.save()
、エラーが発生します。面白いことに、配列にアイテムを追加して保存すると、問題はありません! 問題なく設定オブジェクトに他のキーを追加することもできます。問題を引き起こすのは配列だけです。
エラーがスローされたときに何が起こっているかを確認するために、クロムのデバッガーを使用しました。エラーをスローするコードは次のとおりです。
おかしいのは、これdoc
が実際には profileQuestionsOrder 配列の最初の項目であるということです。これは、単にドキュメント ID を含む文字列です。miniMongo がこの配列について混乱しているようです。他のプロパティを入れることができ、エラーはありません。しかし、この配列からアイテムを削除すると、問題が発生します。
ちなみに、オブジェクトを db に保存しないと、正しく変更され、配列から 1 つの要素が接合されていることがわかります。
mongodb - Meteor はクライアント側で一意の MongoDB _id をどのように作成しますか?
関数に関するMeteorのドキュメントによると、Mongo.Collection.insert()
insert は、渡したオブジェクトの一意の ID を生成し、それをデータベースに挿入して、ID を返します。
非同期でも動作します。
コールバックを提供した場合でも、insert はすぐに ID を返します。
生成された _id がグローバルに一意であるという保証はありますか? Meteor の Minimongo は、クライアント側でそのような _id をどのように生成しますか?
javascript - Meteor.js の rerender イベントはありますか?
Minimongo dbがMeteor.jsで変更されたときに発生する再レンダリングイベントまたはイベントはありますか?
私は流星jsでメッセンジャーを作成しています.新しいメッセージを受け取ったら下にスクロールする必要があり、流星によって新しいメッセージ(html)が挿入されたときにこれを行う必要があります.
meteor - Meteor は依存する失敗した楽観的操作をどのように処理しますか?
Meteor の楽観的な UI は、サーバーの拒否と依存操作のエラーをどのように処理しますか?
私が行った場合 :
op1
サーバー側で失敗し、クライアント側で成功した場合、 と はどうなりop2
ますop3
か?
両方ともロールバックされますか?
mongodb - meteor mongo ドライバーは $each および $position 演算子を処理できますか?
最新の流星バンドルを使用して、流星アプリケーションに取り組んでいます。mongo ドキュメント配列内のアイテムの位置を変更したい。それを達成するために、私は$pull
それを配列から取り出し、mongoDB documentationに従って$push
特定の位置に置きます。index
Meteor/Mongo は次のエラーをスローします。
更新に失敗しました: MongoError: クエリを正規化できません: BadValue 不明な最上位演算子: $each
私は最初にこのクライアント側を実装しました。minimongo の制限のために機能しないと思いました。
このサーバー側を処理するメソッドを作成しましたが、同じエラーが発生します。
このリクエストの何が問題なのですか? meteor は $each オペレーターを処理できますか?
EDIT:robomongoに直接挿入しようとしましたが、うまくいきました。Mongo バージョン、入力db.version()
すると 2.6.7 が返される場合
*EDIT2:私はそれを期待していなかったので、前に確認しませんでした:更新は、$pull
と の両方で機能し$push
ます。ただし、データが実際に更新されても、エラーが発生します。
*編集:ここにいくつかのサンプルデータがあります:
chunks
位置でmy_array
引っ張ったり押したりする配列ですmy_item.id
index
arrays - MongoDB - 配列内の一致する要素のみを射影する
次の構造を持つMongoドキュメントの配列から1つの要素を取得するにはどうすればよいですか:
たとえば、Steve を取得する必要があります。この場合、結果は次のようになります。
とか、ぐらい:{type: 'dog', name: 'Steve'}
公開中に作成する方法は知っていますが、配列全体が利用可能なクライアント側で作成する必要があります.forEachを使用して配列からこの値を返すことができますが、よりエレガントな方法を探しています(Mongoクエリを使用)。
mongodb - Meteor mongo 配列がそれぞれエラーを返す
次のエントリのコレクションがあります
mongo に meteor を介してフィールド CommunicatingWith を照会すると、 を実行するconsole.log(communicatingWith)
と、出力は
[ 'KMT74bWPoZxDSKdrx', 'KMT74bWPoZxDSKdrx' ]
.
私がやっconsole.log(communicatingWith.length)
たとしても、出力は2です
しかし、私がするとき
それは言うエラーをスローします
どこが間違っているのかを理解するのを手伝ってもらえますか?