MongoDB PHP限制字段的返回值
MongoDB PHP Limit the returning values of a field
{
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"
}
]
}
我有一个这样的collection。我想要做的是,当我查询这个 collection 时,我只想将字段的前 2 个数组 return.
预计return:
{
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 但它们是 sorting/limiting 文档,而不是文档中的字段。
那么我怎样才能做到这一点?
使用$slice
运算符限制查询returns:
的数组项数
db.collection.find({}, {"name": 1, "field": { "$slice": 2}})
{
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"
}
]
}
我有一个这样的collection。我想要做的是,当我查询这个 collection 时,我只想将字段的前 2 个数组 return.
预计return:
{
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 但它们是 sorting/limiting 文档,而不是文档中的字段。
那么我怎样才能做到这一点?
使用$slice
运算符限制查询returns:
db.collection.find({}, {"name": 1, "field": { "$slice": 2}})