我使用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来访问子文档id
的auteur
:
db.comments.find({"auteur.id": 1});
点符号也可以用于从零位置开始的索引位置访问数组的元素:
db.things.find({"an_array_name.15": "a text to search..."});
问候。
穆罕默德。