基本上,标题是什么--我在输入“id”的所有id中都没有找到404:
dpd.items.get("id", function(results, error) {
console.log(results);
});以及对任何“id”值的400坏请求:
dpd.items.put("id",{category:value},function(results, error){
console.log("Record updated");
});所有ID值都存在于Deployd仪表板中,我可以使用id以外的任何类别参数来获取请求。
现在感觉我已经试过所有的东西了,请帮帮忙!
发布于 2015-03-02 12:27:01
如果您通过与部署不同的客户端插入文档,则可能发生此错误。
来自这里
MongoDB使用ObjectIds作为_id字段的默认值,如果未指定_id字段.如果客户端没有添加_id字段,mongod将添加一个包含ObjectId的_id字段。
虽然mongoDB创建的it在部署仪表板中是可见的,但它们不是普通字符串(就像由部署d生成的it一样),而部署d在查找字符串时找不到它们。
尝试在任何其他mongoDB客户机(例如罗波蒙戈)中运行查询,如下所示:
db.yourcollection.find({_id: ObjectId("some_id_you_know_exists_in_collection")})如果不抛出错误,则id很可能是部署未创建的ObjectId。
不幸的是,没有容易的解决办法。(至少对于大型收藏和复杂的应用程序来说不是这样。)对于小型集合,我建议只将数据复制到新的集合中,让部署d创建新的ID。
快速、肮脏和未经检验的:
dpd.collection.get({}, function(res) {
_.each(res, function(object){
object.oldId = object.id //add id backup
delete object.id
// post new object without id -> deployd creates a new id
dpd.newcollection.post(object, function(res, err) {
if(err) {
console.log(err);
};
if(res) {
console.log(res);
};
})
});
})你得自己决定是否适合你。
发布于 2015-01-26 20:09:08
Deployd创建任何集合的crud API。
确保集合名称正确,尝试使用
http://localhost:PORT/items/id ..如果这也会给404,那么打开
http://localhost:PORT/dashboard/items/events/
而在仪表板上,goto仪表板/items/events/这将在GET面板上打开,在那里写入console.log(this.query)
大约400个请求,您可以在console.log(this.body)上编写http://localhost:PORT/dashboard/items/events/#put-panel代码
这是调试API的方法,部署有一些问题,但更好的框架可以立即创建API。
https://stackoverflow.com/questions/28157601
复制相似问题