检查数组是否在MongoDB文档中包含帖子ID
checking if an array contains a post id in a mongodb document
假设我想通过用户的_id查找用户并检查"liked"值(数组)是否包含某个帖子_id。如何查询数据库以获取此操作?是否可以将这些_id存储在数组中,或者 mongodb 约定更喜欢其他东西作为对其他文档的引用进行存储?
所以我只想检查用户是否在"喜欢"数组中_id了帖子。
var users = new mongoose.Schema({
name : {type: String, unique : true, required : true, dropDups: true},
password : {type: String, required : true}, //hash
liked : [String],
created : {type: Date, default: Date.now}
});
以下是我认为这可能的样子:
function checkIfLiked() {
let uname = "Jim";
let postId = "abc";
//check if $USER has `postId` in $LIKED
user.findOne({$USER: uname},{$LIKED: {$in: postId} }, function(err, results) {
//do something after check
});
}
对于用户数据
{ "_id" : ObjectId("56effca6e668e15e2eaa6dfe"), "liked" : [ "11", "23", "4" ], "name" : "aa" }
{ "_id" : ObjectId("56effcb1e668e15e2eaa6dff"), "liked" : [ "1", "2", "3" ], "name" : "bb" }
使用数组中的4
检查用户名aa
liked
> db.user.find({liked: '4', name: 'aa'})
{ "_id" : ObjectId("56effca6e668e15e2eaa6dfe"), "liked" : [ "11", "23", "4" ], "name" : "aa" }
但
> db.user.find({liked: '2', name: 'aa'})
没有匹配的结果。
是否可以将这些_id存储在数组中,或者 mongodb 约定更喜欢存储其他内容作为对其他文档的引用?
猫鼬种群可以做到这一点,您可以定义用户架构,如下所示
var users = new mongoose.Schema({
name : {type: String, unique : true, required : true, dropDups: true},
password : {type: String, required : true}, //hash
liked : [{ type: Schema.Types.ObjectId, ref: 'User' }],
created : {type: Date, default: Date.now}
});
var User = mongoose.model('User', users);
相关文章:
- 获取类中包含给定字符串的元素的ID
- 包含插入的Meteor方法没有返回记录ID作为结果
- 选择包含相同id的所有元素
- 如何进行AJAX调用,使其仅在我单击包含在特定类中的链接时触发;id”;父元素的
- 嵌入iframe URL以在wordpress中包含当前用户id
- 有没有一种简单的方法可以用包含id和名称(从a到Z)的对象填充数组
- 按 ID 包含子字符串的类查找元素并更改样式
- 查找id包含两个子字符串的元素
- 检查数组是否在MongoDB文档中包含帖子ID
- 使用QR图像的学生考勤系统包含学生ID
- 如何选择不包含类/id 的项目 - jquery.
- 使用 JavaScript 比较 2 个数组并创建一个新的对象数组,该数组不包含与 id 字段匹配的对象
- 如何将 ID 数组与包含其 ID 作为属性名称一部分的对象属性进行匹配
- 如何使用在jQuery中包含“#”的ID选择器
- JavaScript:如何用包含唯一id的span标记将字符串中的每个单词包装起来
- 谷歌钱包:如何在success_handler中包含订单ID
- 生成包含用户ID的条形码/qr码
- 如何设置'selected'选项的值,其中包含方括号id name
- jQuery检查P标签是否包含给定id的a标签
- href包含锚#id的BUG-在跳转到锚之前会在页面顶部停留一瞬间