[英]Using imported docs from MongoDB in DerbyJS
我有一个MongoDB集合,其中包含未通过我的Derby应用程序保存的数据。 我想对此进行查询,并将其放入我的Derby应用程序中。
因此,我知道了,这是执行此操作的代码:
get '/:year', (page, model, params) ->
query = model.query 'years',
where:
year: (parseInt params.year, 10)
limit: 1
model.subscribe query, (err, year) ->
if err
console.log err
page.render
y: year.get(),
year: params.year
唯一的问题是文档没有derby id,因此它将MongoDB对象id(_id)设置为derby id。 这是model.get()
返回的JSON的示例: https : model.get()
我无法知道查询之前的对象标识是什么。 我希望最近返回的id( currID
)是否在对象的顶层,因此我可以对其进行查询并设置模型引用。 我现在建立了一个hack来解决它,但是它并没有我希望的那么顺利。 代码如下:
getId = (obj, year) ->
for x of obj
return obj[x].id if obj[x].year is year
-1
另外,有没有办法在不破坏屏幕上已有模板的情况下更新模板? 而不是做一个完整的page.render
而是做一个template.render
?
谢谢
Racer查询刚刚在0.3.11中进行了更新,并在以下自述文件中进行了描述: https : //github.com/codeparty/racer/blob/master/lib/descriptor/query/README.md
注意:不再需要。 查询系统已更新。 请参阅内特的答案。
我与DerbyJS(nateps)的开发人员进行了交谈,他告诉我他们正在致力于改进查询系统。 这项工作仍在进行中。
现在,我已经建立了一个hack,它将使用一个要测试的对象和一个参数对象
getId = (obj, params) ->
ids = []
for x of obj
i = 0
for y of params
if obj[x][y] isnt params[y]
break
else if (++i is params.length)
ids.push
id: obj[x].id
return ids
例如,您可以输入如下对象:
var obj = {
"lskjfalksj23423": {
id: "lskjfalksj23423",
name: "random day",
year: 2012,
month: 12,
day: 1
},
"aklsdjflkasdfd": {
id: "aklsdjflkasdfd",
name: "random day 2",
year: 2012,
month: 8,
day: 1
}
}
然后是要测试的对象(请务必添加长度键)
var params = {
month: 12,
day: 1,
length: 2
}
并将返回匹配ID的数组: [{id: "lskjfalksj23423"}]
注意:我尚未测试示例,所以如果您有问题,请告诉我。 无论如何,在进一步构建查询系统后的几个月内,这应该已经过时了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.