gpt4 book ai didi

node.js - DerbyJS 0.6 中的服务器端模型更改事件

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:15 26 4
gpt4 key购买 nike

在 DerbyJS 中:

如何将事件监听器添加到“模型”(仅限服务器端),而不必依赖请求(快速中间件)?

我发现的相关问题: How to create server-side application logic on Racer / DerbyJS?

我当然可以写一个express中间件。但是,如果我可以在不依赖请求的情况下访问它,那么“共享”数据模型将会非常方便,而且我不知道如何做到这一点,而无需将特定代码放入共享代码库/em>.

用例:电子商务软件的订单处理

我的模型可能是这样的:

{
orders: [ {
id: '1',
products: [ ... ],
user: [ ... ],
token: 'stripe credit card token I get from Client here'
}, {
...
} ]
}

这样客户就可以下新订单

model.at('orders').add(myOrder);

服务器可以通过监听'insert'事件来处理它:

model.on('insert', 'orders', function(captures, index, newOrders) {
newOrders.forEach(processOrder);
})

最佳答案

是的,你可以!! :)

您有 2 个选择。

选项 1)

使用 app.serverUse 包含服务器端脚本,或者如果您使用过 derby-generator,则使用 store.js。在那里你可以:

var model = dbStore.createModel();
model.subscribe("orders", function(){
model.on("insert", "orders.**", function() {
...
});
});

选项 2)

使用https://github.com/derbyparty/derby-hook

dbStore.hook('create', 'orders', function(id, doc, session, backend) {
var model = dbStore.createModel();
var $order = model.at('orders.'+ id);
...
});

关于node.js - DerbyJS 0.6 中的服务器端模型更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28587489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com