gpt4 book ai didi

javascript - MongoDB:通过数组中的一个objectId查找

转载 作者:行者123 更新时间:2023-11-30 07:08:21 26 4
gpt4 key购买 nike

我在查询数据库时遇到问题,我想获取所有元素,例如:admins 数组中的 admin "54bd13864ec56c7c12310a79",

用“$in”试了一下,还是不行,是不是和它是一个ObjectId有关?

trainerId = '54bd13864ec56c7c12310a79'
GroupSchema.find({'admins': { $in: [ trainerId ] }}

这是我的数据库:

{
"_id" : ObjectId("54b93e8e3801ae381e3433be"),
"groupName" : "Developers Groups",
"createdBy" : "Ido",
"creationDate" : "Jan 16 2015",
"users" : [
ObjectId("54b932c7ac3ec34a85e6246c")
],
"admins" : [
ObjectId("54b932c7ac3ec34a85e6246c"),
ObjectId("54bd13864ec56c7c12310a79")
],
"__v" : 0
}

Schema 模型是:

module.exports = mongoose.model('Groups' ,
{
groupName: String,
createdBy: String,
creationDate: String,
admins: [{ type : mongoose.Schema.Types.ObjectId, ref: 'Users' }],
users: [{ type : mongoose.Schema.Types.ObjectId, ref: 'Users' }]
}
);

最佳答案

将id字符串转换为ObjectId:

var mongoose = require('mongoose'),
trainerId = '54bd13864ec56c7c12310a79';
var id = mongoose.Types.ObjectId(trainerId);

GroupSchema.find({'admins': id });

关于javascript - MongoDB:通过数组中的一个objectId查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29677613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com