如何使用 ObjectID 筛选 MongoDB 个图表?
How to filter MongoDB Charts with ObjectID?
我正在尝试按用户的组织 ID 过滤 MongoDB 中的图表。该过滤器适用于字符串和数字,但当我尝试使用 ObjectID 进行过滤时它不起作用。
这不会返回任何结果,可能是因为“组织”是一个 ObjectID;
const filter = { 'organization': user.organization }
这给了我一个错误(加载此图表的数据时出错(错误代码:-1)。未知错误。);
const filter = { 'organization': {'$toObjectId': user.organization} }
这个字符串过滤器可以工作,但不是我需要的;
const filter = { 'organization_name': 'test' }
这个字符串过滤器可以工作,但不是我需要的;
const MongoChart = props => {
const { baseUrl, chartId, height, filter, getToken } = props;
const classes = useStyles();
const chartRef = React.createRef();
const sdk = new ChartsEmbedSDK({
baseUrl: baseUrl,
autoRefresh: true,
showAttribution : false,
maxDataAge: 100,
getUserToken: async () => {
const token = await getToken();
return token;
}
});
const chart = sdk.createChart({
chartId: chartId,
height: height,
filter: filter
});
useEffect(() => {
chart.render(chartRef.current)
})
return (
<div className={classes.root}>
<div className={classes.chart} ref={chartRef} />
</div>
);
}
export default MongoChart;
有没有办法在前端将字符串转换为 Mongoose ObjectID?
刚刚发现语法错误。
我将“$toObjectId”切换为“$oid”,它起作用了。
const filter = { 'organization': {'$oid': user.organization} }
我正在尝试按用户的组织 ID 过滤 MongoDB 中的图表。该过滤器适用于字符串和数字,但当我尝试使用 ObjectID 进行过滤时它不起作用。
这不会返回任何结果,可能是因为“组织”是一个 ObjectID;
const filter = { 'organization': user.organization }
这给了我一个错误(加载此图表的数据时出错(错误代码:-1)。未知错误。);
const filter = { 'organization': {'$toObjectId': user.organization} }
这个字符串过滤器可以工作,但不是我需要的;
const filter = { 'organization_name': 'test' }
这个字符串过滤器可以工作,但不是我需要的;
const MongoChart = props => {
const { baseUrl, chartId, height, filter, getToken } = props;
const classes = useStyles();
const chartRef = React.createRef();
const sdk = new ChartsEmbedSDK({
baseUrl: baseUrl,
autoRefresh: true,
showAttribution : false,
maxDataAge: 100,
getUserToken: async () => {
const token = await getToken();
return token;
}
});
const chart = sdk.createChart({
chartId: chartId,
height: height,
filter: filter
});
useEffect(() => {
chart.render(chartRef.current)
})
return (
<div className={classes.root}>
<div className={classes.chart} ref={chartRef} />
</div>
);
}
export default MongoChart;
有没有办法在前端将字符串转换为 Mongoose ObjectID?
刚刚发现语法错误。
我将“$toObjectId”切换为“$oid”,它起作用了。
const filter = { 'organization': {'$oid': user.organization} }