可以在数组键上查询 mongodb 吗?

发布于 2024-11-08 16:20:54 字数 296 浏览 0 评论 0原文

我的表有一个由字符串索引的数组,我希望所有记录都与该字符串匹配,无论该值是什么。例如获取 id1 为 fill 的所有记录:

var a = {
   type: "Information",
   ids: {
     'id1' : '123'
     'id2' : '456'
   }
 };


var b = {
   type: "Information",
   ids: {
     'id1' : '789'
   }
 };

是否可以使用 mongodb 做到这一点以及如何做到?

My table has an array indexed by a string, and i want all the records matching this string, no matter what the value is. For example get all the record wher id1 is fill :

var a = {
   type: "Information",
   ids: {
     'id1' : '123'
     'id2' : '456'
   }
 };


var b = {
   type: "Information",
   ids: {
     'id1' : '789'
   }
 };

Is it possible to do that with mongodb and how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小女人ら 2024-11-15 16:20:54

您可以为此使用 $exists:

> db.things.insert({'type': 'Information', 'ids':{'id1': 123, 'id2': 456}})
> db.things.insert({'type': 'Information', 'ids':{'id1': 746, 'id2': 456}})
> db.things.insert({'type': 'Information', 'ids':{'id2': 456, 'id3': 936}})

> db.things.find({'ids.id1': {'$exists': true}})
{ "_id" : ObjectId("4dd3c706938307861ed610dd"), "type" : "Information", "ids" : { "id1" : 123, "id2" : 456 } }
{ "_id" : ObjectId("4dd3c7a1938307861ed610de"), "type" : "Information", "ids" : { "id1" : 746, "id2" : 456 } }

You can use $exists for this:

> db.things.insert({'type': 'Information', 'ids':{'id1': 123, 'id2': 456}})
> db.things.insert({'type': 'Information', 'ids':{'id1': 746, 'id2': 456}})
> db.things.insert({'type': 'Information', 'ids':{'id2': 456, 'id3': 936}})

> db.things.find({'ids.id1': {'$exists': true}})
{ "_id" : ObjectId("4dd3c706938307861ed610dd"), "type" : "Information", "ids" : { "id1" : 123, "id2" : 456 } }
{ "_id" : ObjectId("4dd3c7a1938307861ed610de"), "type" : "Information", "ids" : { "id1" : 746, "id2" : 456 } }
罗罗贝儿 2024-11-15 16:20:54

感谢#mondodb频道中的scoates,可以使用exists函数来做到这一点: http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24exists

db.Information.find({"ids.id1":{$exists:true}});

Thanks to scoates in #mondodb channel, it's possible to do that with exists function : http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24exists

db.Information.find({"ids.id1":{$exists:true}});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文