Mongodbを使った帆プロジェクトで組み込みコレクションを照会する
-
27-12-2019 - |
質問
私はプロジェクトでSails-Mongoを使っています、そして私は組み込みコレクションで1つのクエリを実行する必要があります。 私のデータは次のようなものです:
{
"_id" : ObjectId("53906c6254f36df504e99b8f"),
"title" : "my post"
"comments" : [
{
"author" : "foo",
"comment" : "foo comment"
},
{
"author" : "bar",
"comment" : "bar comment"
}
],
"createdAt" : ISODate("2014-06-05T13:10:58.365Z"),
"updatedAt" : ISODate("2014-06-05T13:10:58.365Z")
}
.
例えば、comments
のfoo
を抽出する必要があります。
どうやら帆はまだこの機能をサポートしていませんので、 mongodb-native この種のクエリを作成する。
Sails-MongoがMongoDB-Nativeを使用しているので、私は私の帆プロジェクトでDBオブジェクトにアクセスできますか?またはMongoDB-Nativeを使用して新しい接続を構築する必要がありますか?
誰かがより良い考えを持っているならば、私は感謝します。ありがとう
解決
あなたがする必要があるのはアクセス埋め込まれたコメントは、ウォーターラインはうまくいくはずです。通常のfind
またはfindOne
を実行し、コメントは返されたオブジェクトに対してアクセスできるはずです。
query の場合は、コメント、例えば。特定の作者によるコメントを含む投稿を見つけるには、帆走モデルクラスのmongodb-native
メソッドを使用して基礎となる.native()
コレクションにアクセスできます。
Post.native(function(err, collection) {
if (err) {
// handle error getting mongo collection
}
collection.find({'comments.author':'foo'}).toArray(function(err, results) {
// Do something with results
});
});
. 所属していません StackOverflow