gpt4 book ai didi

javascript - 通过与 Mongoose 中的不同数组匹配从嵌入式数组中删除元素

转载 作者:可可西里 更新时间:2023-11-01 10:03:56 24 4
gpt4 key购买 nike

我的 Mongodb 中有一个嵌入式推文数组,每条推文都有一个推文 ID(不要与 mongodb 分配的 ID 混淆)。

{
"_id": {
"$oid": "54d95cb062917897ad26c5e5"
},
"name": "foo",
"tweets": [
{
"tweetID": "1234",
"text": "bla bla bla"
},
{
"tweetID": "4321",
"text": "bla bla bla",
}

... and so on

现在在我的应用程序中,我有另一个数组,其中包含应删除的 tweetID。

var tweetsToBeDeleted = [ "1234", "4321" ];

我正试图让 Mongoose 这样做:

ChannelsModel.update( { },
{ $pull: { tweets: { $elemMatch: { tweetID: tweetsToBeDeleted } } } },
{ multi: true },
function ( err ) {
console.log( "err - " + err );
}
);

但是当我尝试运行它时,没有任何内容被删除。将执行错误回调,但 errnull

有什么想法吗?

提前致谢!

最佳答案

使用$in将一个字段与多个值匹配时:

var tweetsToBeDeleted = [ "1234", "4321" ];
ChannelsModel.update( { },
{ $pull: { tweets: { tweetID: { $in: tweetsToBeDeleted } } } },
{ multi: true },
function ( err ) {
console.log( "err - " + err );
}
);

关于javascript - 通过与 Mongoose 中的不同数组匹配从嵌入式数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28423415/

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