1

这是我的文档的样子。

{
    ID: "XYZ",
    messages: [
        {
            ID: "AAA",
            text: "this is a message"
        },
        {
            ID: "BBB",
            text: "this is a message"
        },
        {
            ID: "CCC",
            text: "this is a message"
        },
        {
            ID: "DDD",
            text: "this is a message"
        },
        {
            ID: "EEE",
            text: "this is a message"
        },
        {
            ID: "FFF",
            text: "this is a message"
        },
        {
            ID: "GGG",
            text: "this is a message"
        }
    ]
}

我想汇总和获取消息,例如从CCCFFF

{
    ID: "XYZ",
    messages: [
        {
            ID: "CCC",
            text: "this is a message"
        },
        {
            ID: "DDD",
            text: "this is a message"
        },
        {
            ID: "EEE",
            text: "this is a message"
        },
        {
            ID: "FFF",
            text: "this is a message"
        }

    ]
}

那么这怎么可能呢?

4

1 回答 1

2

这可以通过使用 $slice 运算符来实现。 查看 $slice 上的 mongodb 文档。运行查询以获取文档并将切片运算符与查询一起使用:

query.slice('messages', [numOfElementsToSkip, numOfElementsToReturn]);

或更具体到您的要求:

query.slice('messages', [2, 4]); // Return 4 elements after skipping 2
于 2015-05-20T12:06:11.960 回答