gpt4 book ai didi

javascript - 将 Doc 属性作为参数传递给 Mongodb 上的函数

转载 作者:行者123 更新时间:2023-12-03 09:20:04 26 4
gpt4 key购买 nike

我使用 mongodb js 脚本文件定义了以下函数:

function populateNewCollection(db, col_new, col_old, daysBack, dateAttribute) { 
db[col_old].find(
{ dateAttribute : {$gte: new Date("09/01/2014")}}
).sort({_id: -1}).forEach(
function(row) { db[col_new].insert(row); } ); }

我像这样调用该函数:

populateNewCollection(db.getSiblingDB('tracking'),'TRACKING_DATA','TRACKING_DATA.old',1, 'datecreated' )

由于某种原因,这会默默地失败,但是如果我对 dateAttribute 参数进行硬编码,它的工作原理如下:

    function populateNewCollection(db, col_new, col_old, daysBack, dateAttribute) { 
db[col_old].find(
{ 'datecreated' : {$gte: new Date("09/01/2014")}}
).sort({_id: -1}).forEach(
function(row) { db[col_new].insert(row); } ); }

我不确定我需要在这里做什么,我主要是一名java开发人员,所以我认为在字符串中传递 是可行的。我是否需要在方法中进行一些后处理以表明这是 mongo doc 属性?

编辑:

我什至尝试将其声明为函数内的 var,但它仍然无法工作:

 function populateNewCollection(db, col_new, col_old, daysBack, dateAttribute) { 
var date = new Date();
date.setDate(date.getDate() - daysBack);
var dateAt = dateAttribute;
var d = 'datecreated';
db[col_old].find(
{ d : {$gte: new Date("09/01/2014")}}
).sort({_id: -1}).forEach(
function(row) { db[col_new].insert(row); } ); }

最佳答案

var query= {};

query["datecreated"] = {"$gte":new Date("09/01/2014")}

在 find 方法中,您可以传递查询对象。

关于javascript - 将 Doc 属性作为参数传递给 Mongodb 上的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31865835/

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