我使用mongoDB在集合注释中收集注释

我用这个java程序来创建它们


...
BasicDBObject comment=new BasicDBObject();
BasicDBObject auteur=new BasicDBObject();
auteur.put("id", id);
auteur.put("login", login);
auteur.put("contact",false);
comment.put("auteur",auteur);
comment.put("texte",texte);
...



当我尝试使用文本字段查找注释时,它起作用:


db.comments.find({“ texte”:“我的名字是user1”})


{
 "_id" : ObjectId("5341395ae4b082f5895d5967"),
"auteur" : { "id" : 1, "login" : "user1", "contact" : false },
"texte" : "my name is user1"
}


但是,我的目的是通过使用auteur的字段ID来找到它们。
我试过了


db.comments.find({“ auteur”:{“ id”:1}})


但它什么也没返回...

我真的迷路了。谢谢!!

最佳答案

您可以使用Dot Notation来访问子文档idauteur

db.comments.find({"auteur.id": 1});


点符号也可以用于从零位置开始的索引位置访问数组的元素:

db.things.find({"an_array_name.15": "a text to search..."});


问候。

穆罕默德。

10-04 18:30