我想在新集合中存储mongo db查询的结果,但是我有这样的错误:未捕获的异常:无法保存DBQuery对象。
这是我的代码:
var com=db.comments.find({message: /http/ })
db.com_filtre.insert(com);

变量com不是空的。当我尝试com.size()时:我有50个元素。
答案 0 :(得分:3)
.find()
的结果是“光标”而不是普通对象。您可以通过.toArray()
var com=db.comments.find({message: /http/ }).toArray()
db.com_filtre.insert(com);
或者获得singular object:
var com=db.comments.findOne({message: /http/ })
db.com_filtre.insert(com);
这取决于您是否要插入“多个”匹配项或单个文档。
答案 1 :(得分:0)
find()方法将游标返回给resultSet。因此你需要从光标中获取文件,如下所示:
var cur = db.comments.find({message: /http/});
while( cur.hasNext() )
{
db.com_filtre.insert( cur.next() );
}