2

Robomongo のデータベースのスクリーンショット

上のスクリーンショットでは、mongo データベースのテストコレクションから(1) ObjectId(572b...ec7a)という名前のドキュメントを開いていることがわかります。( testsコレクションはこのようなドキュメントでいっぱいです) スクリーンショットの下部近くに、値がEditMessagesSettingsの文字列型であるNameという名前のフィールドがあることがわかります。testsコレクションをクエリして、特定のName (この場合はEditMessagesSettingsなど)を含むドキュメントを返したいと思います。これどうやってするの?

以下は、 Fetched 0 record(s) in 4ms のような戻りメッセージを取得して、成功しなかったクエリの一部です。

  • db.getCollection('tests').find({Name:"EditMessagesSettings"})
  • db.getCollection('tests').find({名前:{$regex:"設定"}})

編集:星座の場合、db.getCollection('tests').find({Obj})と入力すると、ObjectId( .

4

2 に答える 2

4

問題がどこにあるかがわかります。1 つではなく 2 つのアンダースコアを使用する必要があります。以下の例を参照してください。

_value と正しい __value の比較。

したがって、クエリは次のようになります。

db.getCollection('tests').find({"Data.__value.Name":"EditMessagesSettings"})
于 2016-05-13T10:47:40.410 に答える
0

試す

db.getCollection('tests').find({"Data._value.Name":"EditMessagesSettings"})
于 2016-05-10T17:58:51.647 に答える