Javascript 如何访问mongoDB集合中特定文档的特定属性?
总而言之,我正在处理两个集合-“usercollection”和“groupcollection”,我希望将用户与组关联起来。我不想拥有所有用户文档的2个副本,因此我要为每个用户提供一个唯一的ID属性,用于将特定用户与特定组关联。这都是在本地主机Web服务器上运行的,因此我从一个html页面获取输入,其中包含一个表单,您可以在其中输入“username”和“groupname”。我尝试使用.distinct()函数,查询为“username”,目标字段/属性为“uid”Javascript 如何访问mongoDB集合中特定文档的特定属性?,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,总而言之,我正在处理两个集合-“usercollection”和“groupcollection”,我希望将用户与组关联起来。我不想拥有所有用户文档的2个副本,因此我要为每个用户提供一个唯一的ID属性,用于将特定用户与特定组关联。这都是在本地主机Web服务器上运行的,因此我从一个html页面获取输入,其中包含一个表单,您可以在其中输入“username”和“groupname”。我尝试使用.distinct()函数,查询为“username”,目标字段/属性为“uid” // Set o
// Set our internal DB variable
var db = req.db;
// Get our form values. These rely on the "name" attributes
var userName = req.body.username;
// Set query and options for searching usercollection
var query = {"username" : userName};
const fieldName = "uid";
// Set our collections
var users = db.get('usercollection');
// Get UID corresponding to username
var uidToAdd = users.distinct(fieldName, query);
这就是我所尝试的(去掉了一些不相关的行),但它只是返回了一个空对象,所以我有点不知所措。另外,我还是nodejs/javascript/mongoDB的初学者,所以答案信息越多越好!当我在mongo shell中执行相同的代码时,我可以得到“uid”属性的实际值,因此我真的不知道出了什么问题我不确定我是否在跟踪您。但如果我理解正确,如果您想在“usercollection”和“groupcollection”之间建立关系,您只需创建这两个集合,“usercollection”中的每个用户都应该有一个带有“groupid”作为引用的字段。通过这种方式,您可以轻松访问“groupcollection” 下面是一个使用猫鼬的例子 在用户模型中
...
groupId: {
type: mongoose.Schema.Types.ObjectID
ref: "Group"
}
...
稍后,您还可以使用“填充””获取“组””信息
...
let data = await User.findById(id).populate('groupId');
...