从MongoDB中查找字符串数据

时间:2013-11-26 06:33:55

标签: mongodb

我有一个集合,并且有这样的值:

"newsletter": "{\"newsletter_user_list_id\":\"11223344\",\"newsletter_id\":\"11111\",\"newsletter_send_id\":\"24111113909\"}",

"useragent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit\/537.71 (KHTML, like Gecko)",

如何编写查询以获取具有newsletter_user_list_id'11223344'的所有记录?

1 个答案:

答案 0 :(得分:0)

您选择了非常奇怪的方式来存储数据。看起来你的新闻通讯领域有一个对象,但实际上它是一个字符串。所以你有两个选择:

  • 使用$regex查找newsletter_user_list_id:11223344并使用此应用程序度过余生。
  • 将其转换为具有适当类型的正确对象(数字应为数字,而不是字符串),并使用object notation进入子文档。 db.a.find({'newsletter.newsletter_user_list_id' : 11223344})

P.S。我也可以为你写正则表达式,我想我不应该这样做,因为我担心你会坚持这个架构。