documents in my sb:
{
{prop1: "abc", otherProp: "xxx",...},
{prop1: "x", otherProp: "xxx",...}
}
const arr = [{prop1: "abc", otherProp: "xxx",...},{prop1: "y", otherProp: "xxx",...}];
1.如何找到属性为prop1为“abc”的文档?2..所有prop1不为“abc”的文档?
await db.collection.find({prop1: "arr.$.prop1"})
不是正确的方法,但是我如何访问对象数组中的动态属性呢?
1条答案
按热度按时间plicqrtu1#
一种方法是在数组上循环并执行upsert操作。像这样:
这将更新文档,如果它已经在那里,否则插入它。如果你不想更新文档,只插入新的,试试这个:
如果您使用Mongoose,请使用
Model.findOne
和Model.save
。