parsing一个长查询string直接到MongoDB(就像你可以在SQL中)
在PHP或C ++或Java等我可以发送一整个复杂的查询到MySql
myQuery = 'SELECT * FROM BOOKINGS WHERE STATUS < 5 ORDER BY CHECKIN'; resultArray = mySql_query(myConnnect,myQuery);
现在我正在和使用MongoDB的MEAN一起工作。 有没有办法在这里做同样的事情?
var express = require('express'); var app = express(); app.get(myDatabase, function(req, res){ my-long-query = 'db.getCollection("receipt").aggregate([{$match:{bookingId:"94JCI"}},{$project:{"_id":0,"receiptNo":1,"amount":1}}])' db.myDatabase.parse-my-long-query(function(err, docs) { res.json(docs); }); });
一些查询是真的很长,我dynamic生成它现在我复制粘贴到Robomongotesting结果。
有任何想法吗?
您可以使用节点js中的db.command
直接运行查询。
作为db命令的聚合查询采用下面的forms。
调整您的JavaScript以发送信息作为键值对。 键入每个collectionname
和query
,并将它们的值传递给下面的命令。
db.command( aggregate: collectionname, pipeline: query, cursor: { } }
不同types的查询具有不同的语法。 因此,您必须在db.command
相应地传递键值对。
更多在这里