簡體   English   中英

mongoDB 從一個集合中查找並保存在另一個集合中

[英]mongoDB find from one collection and save in another collection

我想從我的用戶集合中找到一個用戶,然后將這個確切的用戶插入另一個具有相同架構的集合中。

這是我的實現:(控制器)

const user = await User.findOne({ _id: id });
if (user) {
  const deletedUser = await DeletedUser({
    ...user,
  });
  deletedUser.save();
}

(架構)

const User = tazweedDBConnection.model('users', userSchema, 'users');
const DeletedUser = tazweedDBConnection.model(
  'deleted-users',
  userSchema,
  'deleted-users'
);
module.exports = { User, DeletedUser };

它正在工作,但deleted-users中的數據與user中的數據不同。 我只獲得架構中的默認值。

從 mongoDB 4.2 版開始,您可以使用$merge在一個查詢中執行此操作(對於舊版本使用$out ):

User.aggregate([
 {$match: {_id: id}},
 {$merge: {into: "newCollection"}}
])

請注意,響應是: Fetched 0 record(s) in 0ms ,因為沒有文檔返回。 而是將文檔插入到新集合中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM