gpt4 book ai didi

mongodb - 为 meteor 构建一个动态的 mongo 查询

转载 作者:可可西里 更新时间:2023-11-01 10:31:26 26 4
gpt4 key购买 nike

我正在构建一个具有可点击“过滤器”的应用程序;我正在创建一个对象列表(?),我想将其传递给 mongo“查找”,这样我就可以在所选属性与特定分数匹配时提取列表。

我的数据结构如下(片段):

    name: 'Entry One',
location: {
type: 'Point',
coordinates: [-5.654182,50.045414]
},
dogs: {
score: '1',
when: 'seasonal',
desc: 'Dogs allowed from October to April'
},
lifeguard: {
score: '1',
when: 'seasonal',
desc: 'A lifeguard hut is manned between April and October',
times: ''
},
cafe: {
score: '1',
name:'Lovely cafe',
open:'seasonal'
}, ...

我的搜索变量是我分配给 session 变量的对象列表(我想?)。如果我通过 JSON.stringify 输出这个 session var ('searchString'),它看起来像这样:

{"cafe":{"score":"1"},"dogs":{"score":"1"}} 

我想将其传递给我的 mongo find,以便它仅列出与这些属性的这些分数匹配的条目,但返回零结果。我是否需要以某种方式使它成为一个 $and 查询?

目前看起来是这样的:

Beaches.find(searchString);

不幸的是,一旦我将 searchString 放入查找中,我得到的结果为零,即使它是空的 {}。 (当它只是一个 find() 时,条目列表很好,所以数据本身没问题)

我做错了什么?我是 mongo/meteor 的新手,所以如果有明显的问题,我提前道歉!

最佳答案

不要将查询字符串化。而是展平对象。示例:

Beaches.find({
"cafe.score": 1,
"dogs.score": 1,
});

关于mongodb - 为 meteor 构建一个动态的 mongo 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23909720/

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