如何在mongoDB中拆分列值并在$ gt上使用?

Json文档是:

{ "_id" : ObjectId("56d6ca4e90a90f7518f50946"), "url_Address" : "http://www.flipkart.com/fasense-women-s-nighty/p/itmdu4unkrwgtzuu?pid=NDNDU4UNKRWGTZUU&icmpid=reco_pp_same_womenclothing_nightdressnighty_3&ppid=NDNE6GKJFVF7UXUJ", "vendor_Name" : "Fasense", "vendor_rating" : "3.9 / 5", "product_Name" : "Fasense Women's Nighty", "parrent_id" : "56d6bfea2282d3e350f30808", "channel_name" : "flipkart", "MRP" : "Rs. 2,399", "prce" : "Rs. 1,199", } 

现在我想获取vendor_rating并将其分开/然后检查评级是否大于3。

并且查询的输出可以用完整的文档来呈现。

我如何能在mongoDB 2.6上做到这一点?

你可以做这样的事情:

 db.collection.find({_id: "56d6ca4e90a90f7518f50946"}).toArray(function(err, doc){ if(err) console.log(err); if(doc){ (doc[0].vendor_rating.split('/')[0] > 3) ? console.log("Rating is > 3") : console.log("Rating is < 3"); } }); 

我还没有testing过,但它应该工作。

希望这可以帮助。

所以你需要使用mongo提供的聚合框架。 那么你不需要在客户端进行本地处理

  db.col.aggregate([ {$project:{ "_id" :1, "url_Address" :1, "vendor_rating" :1, "vendor_Name" :1, "product_Name" :1, "parrent_id" :1, "channel_name" :1, "MRP" :1, "prce" :1, "rating" :{$substr:["vendor_rating",0,3]} }}, { $match: { "rating" : {$gt : 3 } } } ])