【问题标题】:MongoDB PHP Limit the returning values of a fieldMongoDB PHP 限制字段的返回值
【发布时间】:2015-03-29 17:34:56
【问题描述】:
{
    name : "name 1",
    field : [
        {
            random:"value 1",
            random2:"second value"
        }
        {
            random:"value 2",
            random2:"second value 2"
        }
        {
            random:"value 3",
            random2:"second value 3"
        }
        {
            random:"value 4",
            random2:"second value 4"
        }
    ]
}
{
    name : "name 2",
    field : [
        {
            random:"value 5",
            random2:"second value"
        }
        {
            random:"value 6",
            random2:"second value 6"
        }
        {
            random:"value 7",
            random2:"second value 7"
        }
        {
            random:"value 8",
            random2:"second value 8"
        }
        {
            random:"value 9",
            random2:"second value 9"
        }
    ]
}

我有一个这样的集合。我想要做的是,当我查询这个集合时,我只想返回该字段的前 2 个数组。

预期回报:

{
    name : "name 1",
    field : [
        {
            random:"value 1",
            random2:"second value"
        }
        {
            random:"value 2",
            random2:"second value 2"
        }
    ]
}
{
    name : "name 2",
    field : [
        {
            random:"value 5",
            random2:"second value"
        }
        {
            random:"value 6",
            random2:"second value 6"
        }
    ]
}

我检查了Query Modifiers,但他们正在排序/限制文档,而不是文档中的字段。

那我该怎么做呢?

【问题讨论】:

标签: php mongodb field limit


【解决方案1】:

使用$slice 运算符限制查询返回的数组项数:

db.collection.find({}, {"name": 1, "field": { "$slice": 2}})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    相关资源
    最近更新 更多