タグ付けされた質問 「mongodb」

MongoDBは、スケーラブルで高性能なオープンソースのドキュメント指向のNoSQLデータベースです。多数の言語とアプリケーション開発プラットフォームをサポートしています。サーバー管理に関する質問は、https://dba.stackexchange.comで行うことができます。

15
WindowsにmongoDBをインストールする方法
私はmongoDBをテストして、それが私にとって何かあるかどうかを確認しようとしています。32bit Windows版をダウンロードしましたが、今後どうするかわかりません。 私は通常、ローカルコンピューターでの開発にWAMPサービスを使用しています。WampでmongoDBを実行できますか? しかし、それをWindowsで動作させるための最良の(最も簡単な!)方法は何ですか? ありがとう!
130 windows  install  mongodb 

1
ケースクラスにscala列挙が含まれている場合に、MongoCaseClassFieldでRogueを使用してmongoレコードを更新する方法
既存のコードRogue 1.1.8を2.0.0との間でアップグレードlift-mongodb-recordしてい2.4-M5 to 2.5ます。 MongoCaseClassFieldScala列挙型が含まれているため、実際にいくつかの助けを借りて書くことができません。 例えば、 object MyEnum extends Enumeration { type MyEnum = Value val A = Value(0) val B = Value(1) } case class MyCaseClass(name: String, value: MyEnum.MyEnum) class MyMongo extends MongoRecord[MyMongo] with StringPk[MyMongo] { def meta = MyMongo class MongoCaseClassFieldWithMyEnum[OwnerType <: net.liftweb.record.Record[OwnerType], CaseType](rec : OwnerType)(implicit mf : …
129 mongodb  class  scala  record  lift 

4
pymongoを使用した正規表現クエリの実行
mongodbサーバーに対してpymongoを使用して正規表現クエリを実行しようとしています。文書構造は以下の通りです { "files": [ "File 1", "File 2", "File 3", "File 4" ], "rootFolder": "/Location/Of/Files" } パターン* Fileに一致するすべてのファイルを取得します。こうやってやってみた db.collectionName.find({'files':'/^File/'}) それでも私は何も返さない、mongodb docsによるとこれは可能であるはずだから私は何かを逃していますか?mongoコンソールでクエリを実行すると、正常に動作しますか?これは、APIがクエリをサポートしていないことを意味しますか?それとも、誤って使用しているだけですか?
129 mongodb  pymongo 

5
1つのMongoDBドキュメントの_idをどのように更新しますか?
_id1つのドキュメントのフィールドを更新します。私はそれが本当に良い実践ではないことを知っています。しかし、技術的な理由により、更新する必要があります。それを更新しようとすると、次のようになります。 > db.clients.update({ _id: ObjectId("123")}, { $set: { _id: ObjectId("456")}}) Performing an update on the path '_id' would modify the immutable field '_id' そして、更新は行われません。どうすれば更新できますか?
129 mongodb 

5
mongodbの配列要素を削除するにはどうすればよいですか?
ここに配列構造があります contact: { phone: [ { number: "+1786543589455", place: "New Jersey", createdAt: "" } { number: "+1986543589455", place: "Houston", createdAt: "" } ] } ここでは、mongo id(_id)と電話番号(+1786543589455)のみを知っており、対応する配列要素全体をドキュメントから削除する必要があります。つまり、phone配列のゼロのインデックス付き要素は電話番号と一致し、対応する配列要素を削除する必要があります。 contact: { phone: [ { number: "+1986543589455", place: "Houston", createdAt: "" } ] } 以下の更新方法で試してみました collection.update( { _id: id, 'contact.phone': '+1786543589455' }, { $unset: …
129 mongodb 


16
NodeJsアプリケーションとモジュール間でMongodbへの接続を適切に再利用する方法
私は何度も読んでいますが、NodeJアプリ全体で同じデータベース(MongoDb)接続を共有するための最良の方法は何なのか混乱しています。私が理解しているように、アプリの起動時に接続を開いてモジュール間で再利用する必要があります。私の現在の最良の方法のアイデアは、server.js(すべてが始まるメインファイル)データベースに接続し、モジュールに渡されるオブジェクト変数を作成することです。接続されると、この変数は必要に応じてモジュールコードによって使用され、この接続は開いたままになります。例えば: var MongoClient = require('mongodb').MongoClient; var mongo = {}; // this is passed to modules and code MongoClient.connect("mongodb://localhost:27017/marankings", function(err, db) { if (!err) { console.log("We are connected"); // these tables will be passed to modules as part of mongo object mongo.dbUsers = db.collection("users"); mongo.dbDisciplines = db.collection("disciplines"); console.log("aaa " + users.getAll()); …

6
すべての既存のフィールドを含め、新しいフィールドをドキュメントに追加します
$ project集計ステージを定義して、新しいフィールドを追加して既存のすべてのフィールドを含めるように指示できます。既存のフィールドをすべてリストする必要はありません。 私のドキュメントは次のようになり、多くのフィールドがあります: { obj: { obj_field1: "hi", obj_field2: "hi2" }, field1: "a", field2: "b", ... field26: "z" } 私はこのような集計操作を行いたいです: [ { $project: { custom_field: "$obj.obj_field1", //the next part is that I don't want to do field1: 1, field2: 1, ... field26: 1 } }, ... //group, match, and whatever... …

3
量産コードでのマングースインデックス
and /のMongoose ドキュメントによるMongooseJSと:MongoDBNode.js アプリケーションが起動すると、MongooseはensureIndexスキーマで定義された各インデックスを自動的に呼び出します。開発には適していますが、インデックスの作成はパフォーマンスに大きな影響を与える可能性があるため、本動作ではこの動作を無効にすることをお勧めします。autoIndexスキーマのオプションをfalseに設定して、動作を無効にします。 これは、Mongooseを最適化するためにデプロイする前にmongooseから自動インデックス作成を削除して、Mongooseにアプリケーション起動時にすべてのインデックスを移動およびチャーンするように指示することを指示しているようです。これは理にかなっているようです。 量産コードでインデックスを処理する適切な方法は何ですか?たぶん、外部スクリプトはインデックスを生成する必要がありますか?またはensureIndex、単一のアプリケーションがコレクションへの唯一のリーダー/ライターである場合、DBの書き込みが発生するたびにインデックスを継続するため、不要な場合がありますか? 編集:補足として、MongoDBはインデックス作成の方法に関する優れたドキュメントを提供していますが、明示的なインデックス作成ディレクティブを実行する理由や時期については提供していません。インデックスは、既存のインデックスを持つコレクションでライターアプリケーションによって自動的に最新に保つ必要があるように思えます。これは、実際には1回限りのもの(新しいインデックスが適用されるときに行われる)です。この場合、Mongoose は、通常のサーバー再起動では何もしません。ensureIndexautoIndex

5
単一のnode.jsプロジェクト内のMongooseおよび複数のデータベース
サブプロジェクトを含むNode.jsプロジェクトを実行しています。1つのサブプロジェクトには1つのMongodbデータベースがあり、Mongooseはdbのラップとクエリに使用されます。しかし問題は Mongooseでは、モデルが1つの接続で構築されるため、単一のMongooseインスタンスで複数のデータベースを使用することはできません。 複数のmongooseインスタンスを使用する場合、Node.jsはにキャッシュシステムを備えているため、複数のモジュールインスタンスを許可しませんrequire()。Node.jsでモジュールキャッシングを無効にすることは知っていますが、Mongooseでのみ必要であるため、これは良い解決策ではないと思います。 私が使用しようとしたcreateConnection()とopenSet()マングースで、それは解決策ではありませんでした。 私は、マングースインスタンス(http://blog.imaginea.com/deep-copy-in-javascript/)をディープコピーして、新しいマングースインスタンスをサブプロジェクトに渡そうとしましたが、スローしましたRangeError: Maximum call stack size exceeded。 私はとにかくこの問題のためにマングースまたは複数の回避策で複数のデータベースを使用することはありますか?マングースはとても簡単で速いと思うので。または推奨事項として他のモジュール?

6
マングースサブドキュメントとネストされたスキーマ
サブドキュメントを使用することと、メインスキーマのより深い層を使用することの長所と短所に興味があります。 var subDoc = new Schema({ name: String }); var mainDoc = new Schema({ names: [subDoc] }); または var mainDoc = new Schema({ names: [{ name: String }] }); 私は現在、あらゆる場所でサブドキュメントを使用していますが、主にパフォーマンスやクエリの問題について知りたいと思っています。

20
パス "_id"で値XXXのMongooseエラーCast to ObjectIdが失敗したのは何ですか?
にリクエストを送信する/customers/41224d776a326fb40f000001と、ドキュメントが_id 41224d776a326fb40f000001存在しない場合は、docがnull返されます404。 Controller.prototype.show = function(id, res) { this.model.findById(id, function(err, doc) { if (err) { throw err; } if (!doc) { res.send(404); } return res.send(doc); }); }; ただし、_idMongooseが「フォーマット」として想定しているものと一致しない場合(おそらく)GET /customers/foo、奇妙なエラーが返されます。 CastError:パス "_id"の値 "foo"のObjectIdへのキャストに失敗しました。 それで、このエラーは何ですか?
122 mongodb  mongoose 

8
mongodbはCAP定理のどこに立っていますか?
どこを見ても、MongoDBがCPであることがわかります。しかし、掘り下げてみると、最終的には一貫していることがわかります。safe = trueを使用するとCPになりますか?もしそうなら、それは私がsafe = trueで書いた場合、結果を得る前にすべてのレプリカが更新されることを意味しますか?

7
マングース、検索で特定のフィールドを選択
特定のフィールドのみを選択しようとしています exports.someValue = function(req, res, next) { //query with mongoose var query = dbSchemas.SomeValue.find({}).select('name'); query.exec(function (err, someValue) { if (err) return next(err); res.send(someValue); }); }; しかし、私のjson応答では_idも受け取っています。私のドキュメントスキーマには、_idとnameの2つのフィールドしかありません。 [{"_id":70672,"name":"SOME VALUE 1"},{"_id":71327,"name":"SOME VALUE 2"}] なぜ???

10
AngularJsアプリを作成するときのJadeまたはHandlebarの使用方法
私はjavascriptのフルスタックアプリケーション全体に新しい(しっとり)ので、Angularにはまったく新しいので、誰かがここで直接記録を付けてくれることを望んでいました。 AngularJSを使用してクライアント側のアプリを作成するときに、JadeやHandlebarsなどのテンプレートフレームワークを使用する必要があるのはなぜですか。 私はこれらのテンプレートフレームワークのいずれも使用したことがないことを言っておく必要があります。だから私はその利点に完全に精通していません。しかし、たとえばハンドルバーを見ると、ループなど、Angularで行うのと同じことの多くを実行します。 私の知る限り、Angularで適切なHTMLを使用してテンプレートを作成し、すべてのテンプレートクライアント側を実行し、これを、たとえばノードやmongoを使用するAPIの最初のアプローチと組み合わせるのが最も理にかなっています。 この混乱の理由は、GitHubで見つけた例の多くがJadeを使用しており、私には直観に反しているように見えるためです。 私を啓発して、私をまっすぐにしてください。私が知っている以上のことを知っている人からいくつかのベストプラクティスを学びたいです。 ありがとう

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.