从 mongodb 查询结果创建新集合

Moo*_*her 4 mongodb nosql

我正在尝试使用 mongodb 查询的结果创建一个新集合。例如,

db.coll.find({name:'abcd'}) 
Run Code Online (Sandbox Code Playgroud)

将返回集合的子集。现在,我想将此结果插入到一个新集合中。我怎样才能做到这一点?

Joh*_*yHK 5

您不能直接使用 来执行此操作find,但可以使用 的$out管道阶段aggregate来执行此操作:

db.coll.aggregate([
    {$match: {name: 'abcd'}},
    {$out: 'newcoll'}
])
Run Code Online (Sandbox Code Playgroud)

请注意,$outMongoDB 2.6 中添加了支持。