Ale*_*los 1 rest jquery distinct mongodb node.js
我试图使用节点js实现的休息服务来获取记录,以填充jquery的自动完成.这是方法
db.collection('publication', function(err, collection) {
collection.distinct('title',{'$or':[{type:'an'},{type:'pub'}]}).toArray(function(err, items) {
res.jsonp(items);
});
});
};
Run Code Online (Sandbox Code Playgroud)
mongo中的查询工作 - >
db.publication.distinct('title',{'$or':[{type:'an'},{type:'pub'}]})
Run Code Online (Sandbox Code Playgroud)
返回["Product","Event"]但是当我使用find时结果是不同的,find会是 - >
{ "_id" : ObjectId("51fbb2124e49d03810000000"), "title" : "Anuncio" }
{ "_id" : ObjectId("51fbb2ae4e49d03810000001"), "title" : "Evento" }
Run Code Online (Sandbox Code Playgroud)
使用第二种方式自动完成工作,但第一种方式不行
节点中显示的错误是:object不是函数.
最后我需要的是返回一个带有记录的json来填充自动填充,填充如下:
$('#search').autocomplete({
source: function(req, res) {
$.ajax({
url: "http://www.example.com:3000/autocomplete/" + req.term ,
dataType: "jsonp",
type: "GET",
data: {
term: req.term
},
success: function(data) {
res($.map(data, function(item) {
return {
label: item.title,
value: item.title
};
}));
},
error: function(xhr) {
alert(xhr.status + ' : ' + xhr.statusText);
}
});
});
Run Code Online (Sandbox Code Playgroud)
小智 5
尝试将函数部分移动到distinct()中.
collection.distinct('title',{'$or':[{type:'an'},{type:'pub'}]},function(err, items) {
res.jsonp(items);
});
我遇到了同样的问题,我在这里解决了我的问题:
http://mongodb.github.io/node-mongodb-native/api-generated/collection.html
(搜索关键词'distinct')
事实证明,官方文档确实有帮助
希望它可以帮助那些有同样问题的人.
| 归档时间: |
|
| 查看次数: |
6859 次 |
| 最近记录: |