Javascript 把手、JS和节点

Javascript 把手、JS和节点,javascript,node.js,mongodb,handlebars.js,Javascript,Node.js,Mongodb,Handlebars.js,我试图从MongoDB获取服务器发送的数据。定期获取: .get('/test', function(req, res){ mongo.collection('collection').find({ _id:req.user._id.toString() }).toArray( function(err, doc){ res.render('partials/map', { docs : doc }); } });

我试图从MongoDB获取服务器发送的数据。定期获取:

.get('/test', function(req, res){
  mongo.collection('collection').find({ _id:req.user._id.toString()
    }).toArray( function(err, doc){
        res.render('partials/map', 
          { docs : doc });
      }
    });      
});
即,向客户端发送一个包含文档的数组。然后我想在客户端操作数据,因此我在客户端的javascript中执行以下操作:

<script>
  var docs = '{{docs}}';
  console.log(typeof(docs));
  console.log(docs);

  var obj = new Object(docs);
  console.log(obj);

  var arr = new Array(docs);
  console.log(arr);

  console.log(JSON.stringify(docs)); 

</script>

我如何操作数据?我知道这是一个包含三个文档的数组,但只要尝试使用docs[0]就会在[object object](即“[”)中给出第一个字符。此外,JSON.parse(docs)只会返回错误,因为docs不知何故已经是一个对象。

在服务器上对对象进行字符串化,然后在客户端访问它

//server
res.render('partials/map', {docs: JSON.stringify(doc)})

//client
var docs = {docs}

不起作用,返回:“JSON.parse位置2处的意外标记&在JSON中”,或者我可以在客户端上以某种方式处理引号吗?好的,使用:console.log(JSON.parse(docs.replace(/“/g,””));它工作得很好。谢谢@Josan!很抱歉,您实际上不必解析它。没有JSON.parse,它应该可以工作。我将更新答案
//server
res.render('partials/map', {docs: JSON.stringify(doc)})

//client
var docs = {docs}