mongodb利用foreach查询和游标遍历(mongodb 遍历对象)


游标

  find方法使用游标返回查询结果,游标的客户端实现使你可以对最终结果做很多的控制。在shell里创建一个游标很简单,往collection里放些document,

  执行查询,将返回结果指派给一个本地变量即可。

> var cursor = db.collection.find();

> while (cursor.hasNext()) {

   obj = cursor.next();
   }

  cursor类同样实现了iterator接口,所以你可以使用forEach循环

> var cursor = db.people.find();
> cursor.forEach( function (x) {
... print(x.name);
... });

db.Goods.find().forEach(
    function(item){
        if(!item.goodsCode.indexOf("ABCD")){
                var tempGoodId=item._id;
                var tempGoodCode=item.goodsCode;
                var temp=db.Goods.findOne({"goodsCode":{"$regex":"^"+tempGoodCode+".+"}});
                if(temp){
                    // print(tempGoodCode+"="+item._id);
                    var cursor=db.GoodAttr.find({"goodsId":tempGoodId});
                     cursor.forEach(function(a){
                        print(a);        
                      })
                    }              
            }
        }
    )


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值