javascript - 如何在猫鼬文档的内部数组中推送元素?
问题描述
我无法解决这个问题。帮我。
我的conversation
架构:
const mongoose = require('mongoose');
const findOrCreate = require('mongoose-findorcreate')
const User = require('./user')
const Schema = mongoose.Schema;
const conversationSchema = new mongoose.Schema({
groupName: {
type: String,
default: ''
},
messages: [Object],
recipients:[{
type: Schema.Types.ObjectId,
ref: 'User'
}],
admins: [{
type: Schema.Types.ObjectId,
ref: 'User'
}]
},{timestamps: true});
conversationSchema.plugin(findOrCreate)
const Conversation = mongoose.model('conversation', conversationSchema);
module.exports = Conversation;
当我更新消息和更新阅读器时。这里的问题我不能很好地更新读者:
await Conversation.findByIdAndUpdate(current._id, {$push: {
messages: {
sender,
text,
date: dt,
remove: [],
readers: []
} }})
我不能很好地解决这个问题,但我做不到。我想要push
读者数组或数组中的 user._id remove
。现在我尝试添加读者。
await Conversation.updateMany( { _id: _id }, {messages: { readers: {$not: {$elemMatch: {$eq: user}}} }}, { messages: { $push: {readers: user } } } )
解决方案
推荐阅读
- tensorflow-hub - 如何使用 TF Hub 模块找到最接近的单词?
- rest - RESTful 中的“ful”是什么意思?
- xml - 未在 XSLT 中引用默认命名空间
- java - 如何以合理的对齐方式将文本写入 Graphics2D?
- opencl - 了解 OpenCL 中的合并
- reactjs - React Native Animated 缩放图像
- c - free 参数 1 的不兼容类型
- javascript - 安全访问可选流类型的属性
- python-3.x - 如何在本地连接到 azure mongo db?
- python - 在 Tensorflow 中的 batch_norm 层上应用 tf.image.per_image_standardization() 的好处?