Mongodb 作为对象查询mongo集合(不是数组)

Mongodb 作为对象查询mongo集合(不是数组),mongodb,mongoose,Mongodb,Mongoose,我想汇总我的收藏(与mongoose)以获得以下形式的所有文档: { _id1: doc1, _id2: doc2, .... } 而不是通常的数组([doc1,doc2,…])。它允许我通过他们的id轻松访问文档 谢谢 但是,您可以使用其\u id字段轻松访问集合中的任何文档。或者通过任何其他字段-即查询。 //actual code output form mongo shell //prepare data db.mycoll2.insertMany([ {_id:1,

我想汇总我的收藏(与mongoose)以获得以下形式的所有文档:

{
   _id1: doc1,
   _id2: doc2,
   ....
}
而不是通常的数组([doc1,doc2,…])。它允许我通过他们的id轻松访问文档


谢谢

但是,您可以使用其
\u id
字段轻松访问集合中的任何文档。或者通过任何其他字段-即查询。
//actual code output form mongo shell
//prepare data
db.mycoll2.insertMany([
{_id:1,"docarr":["doc1","doc2","doc3"]},
{_id:2,"docarr":["doc4","doc5","doc6"]}
]
);
> db.mycoll2.find();
{ "_id" : 1, "docarr" : [ "doc1", "doc2", "doc3" ] }
{ "_id" : 2, "docarr" : [ "doc4", "doc5", "doc6" ] }
//use aggregate to represent array documents linewise
> db.mycoll2.aggregate([
... {$unwind: "$docarr"}
... ]);
//ouput document from array, you can access each document via _id and docarr field label name
{ "_id" : 1, "docarr" : "doc1" }
{ "_id" : 1, "docarr" : "doc2" }
{ "_id" : 1, "docarr" : "doc3" }
{ "_id" : 2, "docarr" : "doc4" }
{ "_id" : 2, "docarr" : "doc5" }
{ "_id" : 2, "docarr" : "doc6" }
>