Mongodb “什么是”呢;“包括在内”;mongo聚合框架中的模式?

Mongodb “什么是”呢;“包括在内”;mongo聚合框架中的模式?,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我正在玩弄mongo聚合框架,但我根本无法理解其中的一些术语。最特别的是,在一些示例中,引用$project处于“包含模式”。我还听说过_id在相关上下文中被选为“隐式”。有人能澄清一下吗 _正在选择“隐式”的id 进行投影时,必须明确指定所有字段: > db.a.find() { "_id" : ObjectId("51c8744a1c0a41d783d77431"), "a" : 1, "b" : 2, "c" : 3 } > db.a.aggregate({$project:

我正在玩弄mongo聚合框架,但我根本无法理解其中的一些术语。最特别的是,在一些示例中,引用$project处于“包含模式”。我还听说过_id在相关上下文中被选为“隐式”。有人能澄清一下吗

_正在选择“隐式”的id

进行投影时,必须明确指定所有字段:

> db.a.find()
{ "_id" : ObjectId("51c8744a1c0a41d783d77431"), "a" : 1, "b" : 2, "c" : 3 }
> db.a.aggregate({$project:{a:1}})
{
    "result" : [
        {
            "_id" : ObjectId("51c8744a1c0a41d783d77431"),
            "a" : 1
        }
    ],
    "ok" : 1
}
在这里,您只在结果文档中包含“a”,所有其他字段都已删除。唯一的区别是\u id字段,该字段始终包含在内,但您可以显式关闭它:

> db.a.aggregate({$project:{a:1, _id:0}})
{ "result" : [ { "a" : 1 } ], "ok" : 1 }
$project处于“包含模式”

这很简单:如果您想在结果文档中按原样包含某个字段,只需键入{a:1},这只是说{a:'$a'}的快捷方式

_正在选择“隐式”的id

进行投影时,必须明确指定所有字段:

> db.a.find()
{ "_id" : ObjectId("51c8744a1c0a41d783d77431"), "a" : 1, "b" : 2, "c" : 3 }
> db.a.aggregate({$project:{a:1}})
{
    "result" : [
        {
            "_id" : ObjectId("51c8744a1c0a41d783d77431"),
            "a" : 1
        }
    ],
    "ok" : 1
}
在这里,您只在结果文档中包含“a”,所有其他字段都已删除。唯一的区别是\u id字段,该字段始终包含在内,但您可以显式关闭它:

> db.a.aggregate({$project:{a:1, _id:0}})
{ "result" : [ { "a" : 1 } ], "ok" : 1 }
$project处于“包含模式”

这很简单:如果您想在结果文档中按原样包含某个字段,只需键入{a:1},这只是说{a:'$a'}的快捷方式