【问题标题】:Get spécific fields with Mongodb使用 Mongodb 获取特定字段
【发布时间】:2013-07-11 12:54:42
【问题描述】:

有没有办法获得给定参数的特定字段功能? 这个想法是返回包含在 POST 变量中的字段。

我知道我必须使用投影,但投影中没有 $in 运算符。

我想要类似的东西:

db.getCollection("130637B1").find({$and:[{'node_id':1}, {'ctype': 'cpu'}]}, {'components.sensors.name': {$in: {'components.sensors.name':[request.POST]}}})

有什么想法吗?

【问题讨论】:

  • 即使你能做到这一点,这么多层次的投影也不起作用(不是有效的 BSON 文档),你最好投影出根文档然后过滤它。
  • arf,有时候 mongodb 很烂 :(

标签: mongodb projection


【解决方案1】:

没有用于投影的 $in 运算符,但这并不意味着您不能这样做。例如,以下查询可以正常工作:

> db.so.drop();
true
> db.so.insert( { node_id: 42, ctype: 'cpu', components: { sensors: { name: 'foo', 'id' : '42bar' }, temp: 78.5 } } );
> db.so.find( {}, { ctype: 1, 'components.sensors.name' : 1 } );
{ "_id" : ObjectId("51dead724efd2a480aa6e6b1"), "ctype" : "cpu", "components" : { "sensors" : { "name" : "foo" } } }

我不确定您的 request.POST 包含什么,所以我无法给出更量身定制的答案。

【讨论】:

    猜你喜欢
    • 2019-05-11
    • 1970-01-01
    • 2023-02-09
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    相关资源
    最近更新 更多