2012-02-10 7 views
5

ObjectIDフィールド名を '_id'から 'id'などに変更することはできますか?MongoDBでObjectIdのデフォルトフィールドの名前を設定することはできますか?

私はドキュメントを見てきましたが、これまで何も見つかりませんでした。 私はJSONオブジェクトを提供するサーバー上でpongongo(pythonドライバ)と共にMongoDBを使用しています。クライアントで使用しているjsライブラリは 'id'フィールドを持つオブジェクトを必要としています。

答えて

3

データベースは常に "_id"フィールドを期待または追加しますが、場合によってはこれを実際にクライアントからマスクすることもできます。

SONmanipulatorsreferencesをチェックしてください。ドキュメントを挿入して変形し、 "_id"フィールドを動的に変更して "id"フィールドのように表示することができます。ただし、これはドキュメントのみを変換することに注意してください。クエリではなく、findOne({"id": "1234567890"})は "id"フィールドが実際にデータベースに存在しないため何も見つかりません。

あなたのユースケースに適しているかどうかは、自分で判断する必要があります。

3

私はそうは思わない。 _idフィールドは、作成されるすべてのドキュメントに対して自動的に作成されます。整数値のようなものを使用したい場合は、別のidフィールドを作成することができます。

+0

あなたはそうです。それを変更することはできません。 – Barrie

+0

さて、彼はmongoを再コンパイルしないとできません:-) –

関連する問題