我想在我的loopback应用程序中实现多租户.现在,我正在尝试使用中间件重新定义我的数据源,以便根据请求的域为每个请求指向我的mongodb服务器上的不同数据库.代码运行,但它似乎并没有实际更改数据源.相反,它总是使用我的datasources.json中定义的那个.
现在,这就是我在做的事情.我的所有模型都引用了"my_db",我希望每个租户在我的mongo服务器上都有一个数据库.
var dataSourceObj = {
my_db:{
url: process.env.MONGOLAB_URI,
connector: "mongodb",
name: "my_db",
database: tenant
}
}
Object.keys(dataSourceObj).forEach(function(dataSource) {
app.dataSources[dataSource].adapter.settings = dataSourceObj[dataSource];
app.dataSources[dataSource].adapter.clientConfig = dataSourceObj[dataSource];
app.dataSources[dataSource].settings = dataSourceObj[dataSource];
app.dataSources[dataSource].connector.settings = dataSourceObj[dataSource];
app.dataSources[dataSource].connector.clientConfig = dataSourceObj[dataSource];
});
Run Code Online (Sandbox Code Playgroud)
有没有人有任何想法?这是一种多租户的愚蠢方式吗?
谢谢!
几天来,我一直试图在Windows计算机上导出动画gif。
这是基本代码:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = plt.plot([], [], 'ro', animated=True)
def init():
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1, 1)
return ln,
def update(frame):
xdata.append(frame)
ydata.append(np.sin(frame))
ln.set_data(xdata, ydata)
return ln,
ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),
init_func=init, blit=True)
ani.save("test.gif")
plt.show()
Run Code Online (Sandbox Code Playgroud)
错误:
>>> python .\anim_test.py
Traceback (most recent call last):
File ".\anim_test.py", line 22, in <module>
ani.save("test.gif")
File "C:\Users\ishma\Anaconda2\lib\site-packages\matplotlib\animation.py", line 1063, in save
writer.grab_frame(**savefig_kwargs)
File …Run Code Online (Sandbox Code Playgroud) 我希望能够根据相关模型的属性进行过滤。例如,我有一个带有 Building 对象的 Class 对象。我想获得在某个建筑物中进行的课程列表。
这个过滤器
{
"include":"building",
"scope":{
"where":{
"name":"warehouse"
}
}
}
Run Code Online (Sandbox Code Playgroud)
返回所有类,但仅包括名称为“仓库”的建筑。我想要的是将建筑物名称的 where 子句应用于整个过滤器,以便我只在建筑物具有该名称时才获取该类。
有什么办法可以做我想做的事吗?
谢谢!