Javascript Node.js在dpd.get&;上部署了404错误;使用id参数时dpd.put上出现400错误
基本上是标题所说的——我在为“id”输入的所有id上都找不到404: 以及对任何“id”值的400错误请求: 所有id值都存在于已部署的仪表板中,我可以使用id以外的任何类别参数发出get请求Javascript Node.js在dpd.get&;上部署了404错误;使用id参数时dpd.put上出现400错误,javascript,node.js,http-status-code-404,http-status-code-400,deployd,Javascript,Node.js,Http Status Code 404,Http Status Code 400,Deployd,基本上是标题所说的——我在为“id”输入的所有id上都找不到404: 以及对任何“id”值的400错误请求: 所有id值都存在于已部署的仪表板中,我可以使用id以外的任何类别参数发出get请求 感觉我已经尝试了所有的方法,请帮忙 已部署创建任何集合的crud API 确保集合名称正确并尝试使用 .. 如果这也将给出404,则打开 在dashboard上转到dashboard/items/events/这将在GET面板上打开,在那里写入console.log(this.query) 在大约400
感觉我已经尝试了所有的方法,请帮忙 已部署创建任何集合的crud API
确保集合名称正确并尝试使用
.. 如果这也将给出404,则打开
在dashboard上转到dashboard/items/events/这将在GET面板上打开,在那里写入console.log(this.query) 在大约400个请求中,您在上编写代码console.log(this.body)
这是调试API的方法,部署的API有一些问题,但立即创建API的框架更好如果您通过不同于部署的客户端插入文档,则会发生此错误 发件人: 如果未指定_id字段,MongoDB将ObjectId用作_id字段的默认值。。。如果客户端没有添加_id字段,mongod将添加一个包含ObjectId的_id字段 尽管mongoDB创建的ID在deployd仪表板中可见,但它们不是普通字符串(与deployd生成的ID类似),deployd在查找字符串时找不到它们 尝试对任何其他mongoDB客户端(例如)运行如下查询: 如果它没有抛出错误,则id很可能是一个ObjectId,它不是由deployd创建的 不幸的是,没有简单的解决办法。(至少不适用于大型收藏和复杂应用。) 对于小型集合,我建议将数据复制到一个新集合中,并让部署人员创建新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);
};
})
});
})
你必须自己决定这是否适合你。Yes“还提供了一个404。控制台记录这个:导航到dpd.js:61 GET 404(未找到)dpd.js:61 GET 404(未找到)这个记录查询{id:'301'}这应该有效,因为有一个id为301的记录,但我仍然得到一个404。您在集合中有数据吗?如果有404表示您使用了错误的集合名称是的,我在仪表板中显示的/items中有数据。dpd.items.get在我使用“id”以外的参数时有效,这就是令人困惑的地方。事实上,这就是问题所在,我是从csv导入数据的。通过导入w/o ID可以解决此问题。
dpd.items.put("id",{category:value},function(results, error){
console.log("Record updated");
});
db.yourcollection.find({_id: ObjectId("some_id_you_know_exists_in_collection")})
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);
};
})
});
})