2016-04-13 20 views
0

jsonファイルをMongodb(Scala/Playフレームワークを使用)に挿入していて、別の要件のためにビューページに同じファイルを取得/ダウンロードしていますが、今回はjsonファイルに "_id"パラメータが1つあります。MongoDBの結果から_idを削除するには?

しかし、実際のjsonファイルには "_id"というパラメータが1つだけ必要です。私はMongodbのチュートリアルを読んでいます。デフォルトでは、コレクションドキュメントの_idにそれを格納しています。

MongoDBに_idがないと私の実際のjsonファイルを取得する機会があるかどうか、教えてください。

これはデータベースに保存されたJSONの結果である(私は「_id」パラメータという必要はありません)

{ 
     "testjson": [{ 
     "key01": "value1", 
     "key02": "value02", 
     "key03": "value03" 
    }], 
    "_id": 1 
} 

答えて

2

ReactiveMongo dev guideとそのAPIをご覧の場合は、similar way as the MongoDB shellで投写をサポートしていることがわかります。

次に、あなたが

collection.find(selector = BSONDocument(), projection = BSONDocument("_id" -> 0)) 

それとも、あなたがJSON serializationを使用しているように行うことを理解することができます

collection.find(selector = Json.obj(), projection = Json.obj("_id" -> 0)) 
+0

あなたの返事をありがとう、私はあなたのコメントごとに追加しましたが、今回も私は_idが私のjsonに追加されているのを見ることができます。説明内の上記のクエリを編集しました – Dhana

+0

私は他のファイルのもう一つの場所に同じことを追加しました。今はうまくいきました。ご協力いただきありがとうございます !! – Dhana

1

あなたはシェルでこのクエリを使用することができます。ここでは

db.testtable.find({},{"_id" : false}) 

私たちはmongoDBにコレクションから_idを返さないよう指示しています。あなたは、ドライバの構文に従ってそれを変換する必要がScalaのため

db.testtable.find({},{"_id" : 0}) 

: また、このように、0代わりに偽を使用することができます。

+0

お返事に感謝が、私ならばはい、それはコレクションから任意の_idせずに与えていますそれを私のシェルコンソールで実行してください。しかし、私はどのようにスカラーでそれを適用できるかわかりません。 – Dhana

+0

ドキュメントで見つけてください。それはない? –

+0

ええ、Play/Scalaのドキュメントをチェックしていますが、見つけられませんでした。 – Dhana

関連する問題