0
{
"_id": "4f609932615a935c18r000000",
"members": [
    {
        "user_name": "john1",
        "role": "user",
        "created_at": {
            "sec": 1331730738,
            "usec": 810000
        },
{
        "user_name": "john2",
        "role": "user",
        "created_at": {
            "sec": 1331730738,
            "usec": 810000
        },
{
        "user_name": "john3",
        "role": "user",
        "created_at": {
            "sec": 1331730738,
            "usec": 810000
        },
{
        "user_name": "john4",
        "role": "user",
        "created_at": {
            "sec": 1331730738,
            "usec": 810000
        },
    {
        "user_name": "markus",
        "role": "user",
        "created_at": {
            "sec": 1331730738,
            "usec": 810000
        }
]
}

ページにページネーションを作成しようとしているので、配列アイテムを含む「メンバー」オブジェクトを選択しようとしているので、並べ替え、スキップ、ページネーションの制限を行うことができます。

これは私が持っているものです:

  var cursor = db.collection("members").find();
    cursor.toArray(function(err, docs) {
         "use strict";

        if (err) return callback(err, null);

        console.log("Found " + docs[0].members.length + " members");
        console.log(docs[0].members);
        callback(err, docs[0].members);
    });
}

「メンバー」を選択するにはどうすればよいですか?

私はこれに非常に慣れていません。事前に感謝してください!

4

2 に答える 2

0

$elemMatch を使用できます。

http://docs.mongodb.org/manual/reference/operator/elemMatch/

これを試して:

db.collection.find({ members: { $elemMatch: { "user_name": "john1" } } });
于 2013-09-06T22:54:50.583 に答える